SharePoint 2010 - использовать SPS-Birthday в FullTextSqlQuery - PullRequest
1 голос
/ 22 ноября 2011

Я пытаюсь создать собственную веб-часть для отображения предстоящих дней рождения. Этот код работает, но мне нужно получить день рождения, чтобы отфильтровать результаты.

Я пытался использовать SPS-Birthday, но потом получаю исключение

public static void BirthDay()
    {
        SPSecurity.RunWithElevatedPrivileges(delegate()
        {
            using (SPSite site = new SPSite(SPContext.Current.Site.ID))
            {
                StringBuilder queryText = new StringBuilder();
                queryText.Append("SELECT PreferredName, AccountName, ??SPS-BIRTHDAY??");
                queryText.Append("FROM SCOPE() ");
                queryText.Append("WHERE \"scope\" = 'People' ");

                using (FullTextSqlQuery query = new FullTextSqlQuery(site))
                {
                    query.QueryText = queryText.ToString();
                    query.RankingModelId = "D9BFB1A1-9036-4627-83B2-BBD9983AC8A1";
                    query.KeywordInclusion = KeywordInclusion.AnyKeyword;
                    query.ResultTypes = ResultType.RelevantResults;
                    query.RowLimit = 5000;
                    ResultTableCollection results = new ResultTableCollection();

                    try
                    {
                        results = query.Execute();

                        if (results.Count == 0)
                            throw new ArgumentException("// No results");
                    }
                    catch (Exception ex)
                    {
                        throw new Exception(ex.Message, ex.InnerException);
                    }

                    ResultTable relevantResults = results[ResultType.RelevantResults];
                    resultDataTable = new DataTable();
                    resultDataTable.Load(relevantResults, LoadOption.OverwriteChanges);

                    count = resultDataTable.Rows.Count;
                }
            }

        });

1 Ответ

1 голос
/ 10 января 2012

Попробуйте зайти в Central Admin и убедиться, что в поле «День рождения» указано «Используется в областях».Перейдите в Central Admin-> Управление приложением службы поиска-> Свойства метаданных ..., затем найдите и выберите это свойство Birthday в разделе Управляемые свойства ..., затем нажмите "Использовать это поле в областях"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...