Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Объясняется, как разрешить доступ к хранилищу данных Веб-службе OpenSearch и как избежать потенциальных барьеров для этого.
Этот раздел организован следующим образом:
- условия принятия запроса поиска
- Отправка запросов и возврат результатов поиска в RSS или Atom
- автоматическое сопоставление с свойствами оболочки Windows
- Понимание процесса сопоставления элементов Windows с типами файлов
- Избежание потенциальных барьеров для создания хранилища данных
- дополнительные ресурсы
- Связанные темы
Условия принятия запроса поиска
Веб-служба OpenSearch, созданная на веб-сервере , должна соответствовать следующим двум требованиям:
Будьте в состоянии принять запрос
GET URL
от клиента.Разрешить внедрение терминов поиска в URL-адрес.
В следующем примере показано, как поисковый термин может быть внедрен в URL-адрес.
https://example.com/search.aspx?query=terms¶m=mysearchword
Заметка
Федеративный поиск не поддерживает отправку POST
запросов в веб-службу.
Дополнительные сведения о создании URL-адреса см. в разделе "Параметры шаблона URL-адреса" в документации по созданию файла описания OpenSearch в Windows Federated Search.
Поддерживаемый синтаксис запросов
В Windows 7 нет определенного синтаксиса запросов. Поставщик OpenSearch принимает все термины, которые пользователь вводит в поле ввода в проводнике Windows, и кодирует его в URL-адрес. Это делается согласно шаблону URL-адреса, описанному в "Параметры шаблона URL-адреса" в создание файла описания OpenSearch в федеративном поиске Windows.
Пользователи ожидают, что отдельные термины рассматриваются как неявно ANDed вместе. Например, запрос к Microsoft Windows должен возвращать только результаты, содержащие как Windows, так и "Майкрософт".
Поддерживаемые протоколы проверки подлинности
Федеративный поиск Windows поддерживает проверку подлинности на основе Windows и может предоставлять учетные данные веб-службам с помощью следующих протоколов:
- NTLM.
- Kerberos.
- Базовый (только по протоколу https).
- Другие поставщики поддержки безопасности, установленные в Windows, которые обеспечивают дополнительные возможности запросов. Ознакомьтесь с документацией по пакету SDK интерфейса SSP , чтобы быть в курсе возможного добавления других SSP.
Отправка запросов и возврат результатов поиска в RSS или Atom
Поставщик OpenSearch отвечает за сопоставление значений XML-элементов со свойствами системы Windows Shell, которые могут использоваться приложениями Windows. Но вы не ограничены сопоставлениями элементов стандартных RSS или Atom по умолчанию и можете включать пользовательские XML-элементы в пространство имен Windows для каждого свойства. Например, можно добавить собственные пользовательские XML-элементы в элемент , чтобы предоставить дополнительные метаданные в Windows. Вы также можете сопоставить элементы из других пространств имен XML, например iTunes
Пример выходных данных RSS-канала
В следующем примере выходные данные RSS-канала возвращают один элемент.
<rss version="2.0" xmlns:media="https://search.yahoo.com/mrss/" xmlns:example="https://example.com/namespace">
<channel>
<title>Search Results</title>
<item>
<title>An example result</title>
<link>https://example.com/pictures.aspx?id=01</link>
<description>This is a test of the emergency search results system. If this were a real emergency result, you'd be reading something more useful.</description>
<pubDate>Wed, 1 Oct 2008 23:12:00 GMT</pubDate>
<media:content url="https://example.com/pictures/picture01.jpg" fileSize="212889" type="image/jpeg" height="768" width="1024"/>
<media:thumbnail url="https://example.com/thumbnails/picture01.jpg" height="120" width="160"/>
<example:dateTaken>Mon, 22 Sep 2008 23:12:00 GMT</example:dateTaken>
</item>
</channel>
</rss>
Дополнительные сведения о сопоставлении свойств см. в разделах "Расширенные элементы в федеративном поиске Windows" и "Сопоставления настраиваемых свойств" в "Создание файла описания OpenSearch в федеративном поиске Windows".
Автоматическое сопоставление с свойствами оболочки Windows
В веб-канале RSS можно включить другие XML-элементы, которые автоматически сопоставляются со свойствами системы Windows Shell. Для этого добавьте элемент с именем, состоящим из имени свойства Оболочки Windows с префиксом, указанным пространством имен системы Windows Shell. В следующем примере показано объявление пространства имен win=" http://schemas.microsoft.com/windows/2008/propertynamespace"
и включение элемента для сопоставления свойств win:System.Contact.PrimaryEmailAddress
:
<rss version="2.0" xmlns:example="https://example.com/schema/2009" xmlns:win="http://schemas.microsoft.com/windows/2008/propertynamespace">
...
<item>
<title>Someone</title>
<win:System.Contact.PrimaryEmailAddress>someone@example.com
</win:System.Contact.PrimaryEmailAddress>
</item>
Префикс пространства имен, используемый здесь ("win"
) является предложением; можно использовать любой префикс. Однако необходимо использовать точные имена свойств Оболочки Windows и включать точный универсальный идентификатор ресурса (URI), как показано в следующем примере:
http://schemas.microsoft.com/windows/2008/propertynamespace
О системе свойств оболочки Windows
Windows определяет полный список системных свойств и формат типа значения, необходимый для каждого свойства. Документация по свойству System.FileExtension Window Shell, например, указывает, что значение должно содержать ведущую точку (например, ".docx", а не "docx").
значения даты и времени
Предпочтительный формат даты и времени — ISO-8601, как показано в следующем примере:
2008-01-16T 19:20:30:.45+01:00
Разработчики .NET должны использовать класс DateTime с ToString("R")
для вывода правильного формата.
Дополнительные сведения о сопоставлении свойств см. в статье "Расширенные элементы в федеративном поиске Windows" в создании файла описания OpenSearch в федеративном поиске Windows.
Понимание того, как элементы Windows сопоставляются с типами файлов
Поиск в пользовательском интерфейсе Проводника Windows позволяет пользователям обрабатывать результаты как файлы, когда элемент RSS указывает на файл, хранящийся удаленно. Пользователь может перетаскивать элементы на рабочий стол, а пользовательский интерфейс проводника Windows отображает правильный значок и предоставляет соответствующее контекстное меню. Если элемент RSS не указывает на удаленный сохраненный файл, файл рассматривается как ссылка, и пользователи могут выполнять действия с ним, например создание ярлыка или открытие его в браузере.
В следующей блок-схеме показано, как Windows определяет тип файла элемента.
Поставщик OpenSearch выполняет следующие действия, чтобы сопоставить элемент с типом файла:
- Определите, следует ли рассматривать элемент как файл или веб-ссылку.
- Определите правильное расширение имени файла, используемое.
Например, если элемент имеет URL-адрес ссылки, использующий путь к файловой системе (например, file:///\\server\share\etc\item.ext
), поставщик OpenSearch обрабатывает ссылку как файл и определяет тип по расширению имени файла, используемому в пути (.ext в этом примере).
Если элемент использует стандартный корпус RSS или MediaRSS media:content, поставщик OpenSearch предполагает, что элемент является файлом и определяет расширение имени файла следующим образом:
- Если для элемента сопоставлено свойство System.FileExtension Windows Shell, поставщик использует это расширение имени файла.
- Если свойство Windows Shell System.FileExtension не сопоставлено, поставщик использует атрибут Type, указанный в корпусе или элементе содержимого. Этот элемент должен содержать строку
MIMEType
, например"image/jpeg"
. ЕслиMIMEType
связан с расширением имени файла, зарегистрированным на клиентском компьютере, элемент считается файлом этого типа. ЕслиMIMEType
не связан с расширением имени файла, зарегистрированным на клиентском компьютере, элемент рассматривается как тип веб-ссылки. Поставщик OpenSearch не предпринимает попыток анализировать атрибут URL-адрес, чтобы определить расширение имени файла. - Если
MIMEType
связан с расширением имени файла, зарегистрированным на клиентском компьютере, поставщик определяет, является ли расширение имени файла известным типом веб-файла (.htm, .html, .asp, .aspx, .php, .swf, stm). В этом случае тип файла считается типом веб-ссылки; в противном случае он считается типом файла. Например, еслиMIMEType "text/html"
связан с расширением имени файла .htm, этот элемент считается веб-ссылкой вместо типа файла .htm.
Предотвращение потенциальных барьеров для включения хранилища данных
Некоторые хранилища данных не предоставляют веб-службу, совместимую с OpenSearch, но все же могут быть подключены к поисковой системе Windows Federated Search. К таким хранилищам данных относятся:
Удаленные индексы с методами проверки подлинности, которые не поддерживаются в федеративном поиске Windows 7.
Примеры включают проверку подлинности на основе форм и другие пользовательские методы проверки подлинности.
Если в общедоступном магазине есть общедоступные веб-API, любой пользователь может написать другую веб-службу, которая совместима с OpenSearchи вызывает эти API в фоновом режиме.
Примеры включают библиотеку Конгресса и базы данных медицинских исследований.
Частные корпоративные хранилища данных или индексы, а также устаревшие хранилища управления содержимым, для которых может быть невозможно реализовать интерфейс.
Однако существуют альтернативные варианты, которые могут избежать барьеров для включения хранилища данных. Ниже приведены некоторые из этих альтернатив:
Для создания промежуточной веб-службы в случаях, когда вы не можете изменить веб-службу для имеющегося источника данных, или веб-служба предоставляет пользовательский API:
- Напишите промежуточную веб-службу, которая может принимать запросы Windows 7.
- Подключитесь к источнику данных и получите результаты запроса.
- Переформатируйте результаты в формате RSS или Atom.
- Верните результаты клиенту Windows 7.
- Обратите внимание, что для корпоративных служб данных и многих служб интернет-данных может потребоваться передать учетные данные пользователя от имени веб-службы, чтобы выполнить обрезку результатов на основе разрешений пользователя.
Использовать существующую поисковую систему, если вы не можете включить общедоступное хранилище данных:
Используйте общедоступную поисковую систему, которая уже поддерживает OpenSearch с RSS. Это можно сделать, предоставив пользователям файл OSDX с шаблоном URL-адреса, который ограничивает результаты только для конкретного домена.
Смотрите следующий пример описания OpenSearch для поиска только справочного содержимого Windows с помощью запроса к live.com.
<?xml version="1.0" encoding="UTF-8"?> <OpenSearchDescription xmlns="https://a9.com/-/spec/opensearch/1.1/"> <ShortName>Windows Help</ShortName> <Description>Search Windows Help using the live.com search engine</Description> <Language></Language> <Url type="text/html" template="https://windowshelp.microsoft.com/windows/search.aspx?=&qu={searchTerms}"/> <Url type="application/rss+xml" template="https://api.search.live.com/rss.aspx?source=web&query={searchTerms} site:windowshelp.microsoft.com&web.count=50"/> </OpenSearchDescription>
Использовать существующий сервер индексирования, поддерживающий OpenSearch, если нельзя включить собственные корпоративные хранилища данных или индексы:
- Выберите существующий сервер индексирования, который поддерживает OpenSearch для индексирования содержимого, например сервер поиска SharePoint.
- Создайте OSDX-файл, который ограничивает результаты из индекса SharePoint только теми, которые происходят с вашего сервера, используя их синтаксис KeyWord в шаблоне URL-адреса.
Для записи клиентского хранилища данных, если решение только на стороне сервера не работает:
- Напишите клиентский источник данных OpenSearch, который находится между поставщиком OpenSearch в Windows OpenSearch и внешним источником данных.
- Используйте api интерфейса IOpenSearchSource в пакете SDK для Windows, чтобы создать соответствующий настроенный файл .searchconnector-ms, с помощью которого проводник Windows может вызвать реализацию с параметрами запроса. После этого реализация может возвращать результаты, отформатированные в формате RSS или Atom. Это позволяет реализации предоставлять пользовательский интерфейс проверки подлинности и подключаться к источнику данных с помощью собственного API.
Заметка
Открытие OSDX-файла создает файл .searchconnector-ms (соединитель поиска) в каталоге %userprofile%/search и помещает ссылку на него в каталоге %userprofile%/links.
Дополнительные ресурсы
Дополнительные сведения о реализации федеративного поиска в удаленных хранилищах данных с помощью технологий OpenSearch в Windows 7 и более поздних версиях см. в разделе "Дополнительные ресурсы" по Федеративный поиск в Windows.
Связанные разделы
-
Создание файла описания для OpenSearch в интегрированном поиске Windows
-
Следование передовому опыту для федеративного поиска Windows
-
развертывание соединителей поиска в федеративном поиске Windows