Какова область поиска FullTextSqlQuery - PullRequest
2 голосов
/ 09 января 2010

Я пытаюсь использовать FullTextSqlQuery, чтобы найти список сайтов sharepoint, к которым у пользователя есть доступ. Вот мой код:

SPFarm farm = SPFarm.Local;

SPWebServiceCollection webServices =
    new SPWebServiceCollection(farm);

foreach (SPWebService webService in webServices)
{
    foreach (SPWebApplication webApp in webService.WebApplications)
    {
        using (FullTextSqlQuery fullTextSqlQuery = new
            FullTextSqlQuery(ServerContext.GetContext(webApp)))
        {
        // Do some Initializtion
        fullTextSqlQuery.QueryText = 
            "select title, path from scope() where (contentclass = 'STS_Web' or contentclass = 'STS_Site') order by path";

           // execute the query and gather results
        }
    }
}

Естественно, я думал, что область поиска FullTextSqlQuery определяется аргументом конструктора, поскольку в этом случае область поиска будет веб-приложением:
FullTextSqlQuery fullTextSqlQuery = new FullTextSqlQuery(ServerContext.GetContext(webApp))

Однако для каждого веб-приложения запрос возвращает один и тот же результат, что означает, что webApp не используется в качестве области действия. Итак, как определить область для запроса?

Спасибо.

1 Ответ

1 голос
/ 09 января 2010

Области определены (как из коробки, так и по индивидуальному заказу) в Shared Service Provider, который использует ваше веб-приложение. В настройках семейства сайтов вашего сайта вы можете дополнительно указать разрешенные и используемые области.

Поставщик общих служб находится в левом меню центрального администратора, а затем, находясь на сайте администратора ssp, вы можете добавлять, изменять и удалять области поиска.

Подробнее здесь .

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