Работа с триггерами и шаблонами запросов (Search Server 2008)

Обновлено: 2008-07-31

Если Microsoft Search Server 2008 не обходит определенный сайт непосредственно, то этот сайт можно добавить как федеративное расположение и включить его результаты поиска для пользователей сайта центра поиска. При добавлении федеративного расположения необходимо указать шаблон запросов, используемый для запроса URL-адреса федеративного расположения. При необходимости также можно указать одно или несколько ограничений запросов, называемых триггерами, для ограничения запросов, поступающих на федеративное расположение.

В этом разделе описывается задание триггеров и создание шаблона запросов для федеративного расположения.

триггеры;

Триггер является ограничением запросов, которое определяет их прохождение. При создании федеративного расположения можно указать триггеры, которые определяют, какие запросы передаются на него. На федеративное расположение пересылаются только те запросы, которые соответствуют шаблону, указанному для триггеров в определении расположения.

Существует два типа триггеров.

  • Префикс

    Запрос должен содержать префикс, точно соответствующий терму, указанному в качестве триггера. Например, если в качестве триггера префикса указано слово "погода", то в запросе "погода в Нью-Йорке" префикс будет опущен, и пересылаться будет только "в Нью-Йорке".

    NoteПримечание:

    Пересылается только та часть запроса, которая следует за префиксом; в примере "погода в Нью-Йорке" только часть "в Нью-Йорке" будет пропущена на федеративное расположение.

  • Регулярное выражение

    Запрос должен соответствовать указанному шаблону регулярного выражения. Дополнительные сведения о создании регулярных выражений см. в разделе Регулярные выражения .NET Framework (https://go.microsoft.com/fwlink/?linkid=117945&clcid=0x419).

Шаблоны запросов

Шаблон запроса содержит параметризованный URL-адрес для федеративного расположения, и запросы поиска передаются на этот URL-адрес. Параметризованный URL-адрес должен возвращать структурированные XML-результаты (например, RSS или Atom).

Search Server 2008 поддерживает два типа федеративных расположений.

  • Индекс поиска на этом сервере

    Шаблон запроса для федеративного расположения типа "Индекс поиска на этом сервере" должен содержать параметр searchTerms, который указывается следующим образом: {searchTerms}

    Он должен также содержать дополнительные ограничения запроса, например поиск содержимого от определенного автора, как показано в следующем примере: Author:"{searchTerms}"

    Шаблон запроса для этого типа федеративного расположения не должен содержать URL-адрес результатов поиска.

  • OpenSearch

    Любой интернет-сайт, который поддерживает стандарт OpenSearch

Шаблон запроса эквивалентен URL-шаблону в Спецификации OpenSearch (на английском языке) (https://go.microsoft.com/fwlink/?linkid=111090&clcid=0x419). Синтаксис основан на Синтаксисе URL-шаблона (на английском языке) (https://go.microsoft.com/fwlink/?linkid=100718&clcid=0x419). Ниже приведен простой пример шаблона запроса расположения, который содержит параметризованный URL-адрес для подключения к службе Live Search: http://search.live.com/results.aspx?q={searchTerms}&format=rss

В этом примере шаблон запроса содержит параметр шаблона OpenSearch searchTerms. Параметр searchTerms является заполнителем для слов поиска, которые пересылаются на федеративное расположение. В шаблоне запроса можно указать дополнительные параметры. Дополнительные сведения об этих параметрах см. в разделе Раздел параметров OpenSearch 1.1 (на английском языке) (https://go.microsoft.com/fwlink/?linkid=100720&clcid=0x419) в спецификации OpenSearch.

Можно указать, что параметр является необязательным, добавив знак вопроса (?) после имени параметра. В следующем примере параметр searchTerms является обязательным, а параметр startIndex является необязательным: http://www.live.com/?scope=web&mkt=ru-ru{searchTerms}&format=rss&first={startIndex?}

NoteПримечание:

Параметры, указанные в шаблоне URL-адреса, должны быть представлены в виде URL-кода. В предыдущем примере знак амперсанда (&) заменен на URL-код для этого знака, "&".