2010-01-09 2 views
2

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

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

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

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

Дополнительная информация here.

+0

Привет, Колин, спасибо вам за ответ. Я новичок в Sharepoint. В моем случае я инициализирую запросы из разных веб-приложений, но все запросы возвращают один и тот же результат. Означает ли это, что эти веб-приложения используют один и тот же SSP? – Shuo

+1

Да, да. Вы можете создать новые SSP, если это необходимо, или просто определить области действия в одном SSP. – Colin

+1

Итак, что же делает контекст или параметр SPSite в конструкторе, если он не задает область? –