Преодоление ограничений веб-части «Основные результаты поиска людей» / People Search Core Result (PSCR) средствами веб-сервиса поисковой службы MOSS 2007

Поиск по сайту
    

Преодоление ограничений веб-части «Основные результаты поиска людей» / People Search Core Result (PSCR) средствами веб-сервиса поисковой службы MOSS 2007

Классическим подходом к решению задачи по предоставлению средств поиска и отображения информации о людях является использование стандартной веб-части «Основные результаты поиска людей» (People Search Core Result). Однако PSCR  имеет ряд существенных ограничений:

В условиях необходимости эффективного использования рабочего времени и не допущения усложнения задачи по поиску и отображению людей вопрос по преодолению имеющихся ограничений решается  путем использования доступной в SharePoint Desinger 2007 веб-части WebPartPages:DataFormWebPart.
WebPartPages:DataFormWebPart способна извлекать данные из любых источников данных (DataSources). Для получения данных о людях наиболее удобным способом является использование поискового веб-метода QueryEx, который имеет xml-параметр queryXml 1.
Xml-параметр выглядит следующим образом:
<QueryPacket xmlns="urn:Microsoft.Search.Query" Revision="1000">
<Query>
<Context>
<QueryText language="en-US" type="MSSQLFT">SELECT PreferredName, Department, Manager, AboutMe,
Title, Path, Description, Write, Rank, Size  FROM SCOPE() where "scope"='Люди'
AND Department LIKE 'DEP 1'</QueryText>
</Context>
<Range>
<StartAt>1</StartAt>
<Count>1000</Count>
</Range>
<SortByProperties>
<SortByProperty />
</SortByProperties>

    </Query>
</QueryPacket>

Интересными для нас являются блок <Count>, который определяет максимальное количество возвращаемых результатов поиска, и блок <SortByProperties>, который позволяет задавать параметры сортировки 2.
После снятия ограничений, необходимо обработать результаты, возвращаемые поисковым веб-методом.  Данный веб-метод возвращает результаты в формате XML, что делает его использование крайне удобным. Для получения желаемого результата необходимо выполнить следующие шаги:

После выполнения всех указанных шагов мы получили результаты поискового запроса в формате XML без каких-либо системных ограничений по количеству возвращаемых данных или набору свойств. Кроме того, появилась возможность обрабатывать запросы как добавленным автоматически xslt, так и xslt собственной разработки.

 

1 Все доступные поисковые веб-методы, а так же их описания, вы можете найти, открыв страницу http://имя_сервера/_vti_bin/search.asmx

2 Полную спецификацию QueryPacket вы можете найти по ссылке http://msdn.microsoft.com/en-us/library/ms563775.aspx 

Денис Деревинский,
младший разработчик компании ИТТИЛАН