Поделиться через


Справочник по синтаксису язык KeyQL (KeyQL)

Узнайте, как создавать запросы KeyQL для поиска в SharePoint. В этом справочнике по синтаксису описаны KeyQL элементы запроса, а также способы использования ограничений свойств и операторов в KeyQL запросах.

Элементы запроса KeyQL

Запрос KeyQL состоит из одного или нескольких из следующих элементов:

  • Ключевые слова с произвольным текстом (слова или фразы)
  • Ограничения свойств

Вы можете объединить KeyQL элементы запроса с одним или несколькими доступными операторами.

Если запрос KeyQL содержит только операторы или пуст, он недопустим. KeyQL запросы не учитывают регистр, но операторы учитывают регистр (верхний регистр).

Примечание.

Ограничение длины запроса KeyQL зависит от способа его создания. При создании запроса KeyQL с помощью внешнего интерфейса поиска SharePoint по умолчанию ограничение длины составляет 2048 символов. Однако KeyQL запросы, создаваемые программным способом с помощью объектной модели запросов, имеют ограничение длины по умолчанию в 4096 символов. Это ограничение можно увеличить до 20480 символов с помощью свойства MaxKeywordQueryTextLength или DiscoveryMaxKeywordQueryTextLength (для обнаружения электронных данных).

Создание запросов свободного текста с помощью KeyQL

При создании запроса KeyQL с помощью выражений свободного текста поиск в SharePoint сопоставляет результаты для терминов, выбранных для запроса, на основе терминов, хранящихся в полнотекстовом индексе. Сюда входят значения управляемых свойств, для которых для FullTextQueriable задано значение true.

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

  • word (содержит один или несколько символов без пробелов и знаков препинания);
  • phrase (содержит два и более слов, разделенных пробелами и обязательно заключенных в двойные кавычки).

Для создания сложных запросов можно объединить несколько выражений свободного текста с KeyQL операторами запросов. Если операторы между выражениями отсутствуют, запрос будет выполняться так же, как при использовании оператора AND.

Использование слов в запросе свободного текста KeyQL

При использовании слов в запросе KeyQL свободного текста поиск в SharePoint возвращает результаты на основе точного совпадения слов с терминами, хранящимися в полнотекстовом индексе. Можно указывать только начальную часть слова, применяя оператор подстановочного знака (*) для включения сопоставления префиксов. При сопоставлении префиксов поиск в SharePoint сопоставляет результаты с терминами, содержащими слово, за которым следует ноль или более символов.

Например, следующие KeyQL запросы возвращают элементы содержимого, содержащие термины "федеративный" и "поиск":

federated search federat* search search fed*

KeyQL запросы не поддерживают сопоставление префикса с подстановочным знаком * в качестве префикса.

Использование фраз в запросе свободного текста KeyQL

При использовании фраз в запросе KeyQL свободного текста поиск в SharePoint возвращает только те элементы, в которых слова в фразе расположены рядом друг с другом. Чтобы указать фразу в запросе KeyQL, необходимо использовать двойные кавычки.

KeyQL запросы не поддерживают сопоставление префикса с подстановочным знаком * в качестве префикса, поэтому оператор с подстановочными знаками нельзя использовать перед фразой в запросах свободного текста. Однако вы можете использовать оператор подстановочного знака после фразы.

Запросы ограничения свойств в KeyQL

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

Задание ограничений свойств

Базовое ограничение свойств состоит из перечисленных ниже элементов.

<Property Name><Property Operator><Property Value>

В таблице 1 приведены примеры синтаксиса допустимых ограничений свойств в запросах KeyQL.

Таблица 1. Допустимый синтаксис ограничений свойств

Синтаксис Возвращаемое значение
author:"John Smith"
Возвращает элементы контента, автором которого является John Smith.
filetype:docx
Возвращает документы Microsoft Word.
filename:budget.xlsx
Возвращает элементы содержимого с именем budget.xlsxфайла .

Ограничение свойства не должно включать пробелы между именем свойства, оператором свойства и значением свойства, иначе ограничение свойства обрабатывается как запрос свободного текста. Длина ограничения свойства не должна превышать 2048 символов.

В следующих примерах наличие пробела приводит к тому, что запрос возвращает элементы, содержащие термины "author" и "John Smith", вместо элементов контента, автором которого является John Smith:

author: "John Smith" author :"John Smith" author : "John Smith"

Другими словами, описанные выше ограничения свойств эквивалентны следующему запросу:

author "John Smith"

Указание имен свойств для ограничений свойств

Необходимо указать допустимое имя управляемого свойства для ограничения свойства. По умолчанию в Поиск в SharePoint входит несколько управляемых свойств для документов.

Чтобы задать ограничение для значения свойства для обхода, необходимо сначала сопоставить свойство для обхода с управляемым свойством. См. статью Управляемые свойства и свойства для обхода в статье Планирование взаимодействия с поиском для конечных пользователей.

Управляемое свойство должно быть запрашиваемым , чтобы можно было искать это управляемое свойство в документе. Кроме того, управляемое свойство может относиться к типу Retrievable , чтобы можно было его извлечь. Однако управляемое свойство не обязательно должно относиться к типу Retrievable , чтобы можно было найти свойство.

Операторы свойств, поддерживаемые в ограничениях свойств

Служба Поиск в SharePoint поддерживает несколько операторов свойств для ограничений свойств, приведенных в таблице 2.

Табл. 2. Допустимые операторы свойств для ограничений свойств

Описание Описание Поддерживаемый тип управляемого свойства
:
Возвращает результаты, в которых указанное в ограничении свойства значение равно значению свойства, хранящегося в базе данных хранилища свойств, или совпадает с отдельными терминами в значении свойства, хранящегося в полнотекстовом индексе.
Text
DateTime
Integer
Decimal
Double
YesNo
=
Возвращает результаты поиска со значениями свойств, равными значению, определенному при ограничении свойств.
Примечание. Не рекомендуем сочетать оператор = со знаком звездочки (*), если нужно найти точное совпадение.
Text
DateTime
Integer
Decimal
Double
YesNo
<
Возвращает результаты, в которых значение свойства меньше значения, указанного в ограничении свойства.
DateTime
Integer
Decimal
Double
>
Возвращает результаты, в которых значение свойства больше значения, указанного в ограничении свойства.
DateTime
Integer
Decimal
Double
<=
Возвращает результаты со значением свойства, меньшим или равным значению, указанному в ограничении свойства.
DateTime
Integer
Decimal
Double
>=
Возвращает результаты со значением свойства, большим или равным значению, указанному в ограничении свойства.
DateTime
Integer
Decimal
Double
<>
Возвращает результаты со значением свойства, не равным значению, указанному в ограничении свойства.
DateTime
Integer
Decimal
Text
Double
YesNo
..
Возвращает результаты, в которых значение свойства включено в диапазон, указанный в ограничении свойства.
Например, диапазон A..B представляет собой набор значений от A до B со значениями A и B включительно. Для диапазонов дат такая запись означает диапазон от начала дня A до конца дня B.
DateTime
Integer
Decimal
Double

Указание значений свойств

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

Табл. 3. Соответствие допустимых типов данных типам управляемых свойств

Тип управляемых свойств Тип данных
Text
String
Integer
Int64
Double
System.Double
Decimal
Decimal
DateTime()
DateTime
YesNo
Boolean

Значения текстовых свойств

В случае значений текстовых свойств ход сопоставления зависит от того, хранится ли свойство в полнотекстовом индексе или в индексе поиска.

Значения свойств в полнотекстовом индексе

Значения свойств хранятся в полнотекстовом индексе, когда свойству FullTextQueriable присвоено значение true для управляемого свойства. Эту настройку можно использовать только для строковых свойств. Значения свойств, указанные в запросе, сопоставляются с отдельными терминами, которые хранятся в полнотекстовом индексе. Используйте свойство NoWordBreaker , чтобы указать, должен ли проводиться поиск совпадений с полным значением свойства.

Например, при поиске элемента содержимого, созданного Полом Shakespear, следующий запрос KeyQL возвращает соответствующие результаты:

author:Shakespear author:Paul

Поддерживается также сопоставление префикса. Можно использовать оператор с подстановочными знаками (*), но он не является обязательным при указании отдельных слов. В предыдущем примере следующий запрос KeyQL возвращает элементы содержимого, созданные Полом Shakespear, в виде совпадений:

author:Shakesp*

Если в качестве значения свойства указывается фраза, возвращаются результаты, содержащие эту фразу в значении свойства из полнотекстового индекса. В следующем примере запроса возвращаются элементы содержимого с текстом "Расширенный поиск" в заголовке, например "Расширенный поиск XML", "Изучение веб-части расширенного поиска" и т. д.

title:"Advanced Search"

Сопоставление префиксов также поддерживается для фраз, указанных в значениях свойств. Но в этом случае в запросе следует использовать оператор подстановочного знака (*), который допустим только в конце фразы, например:

title:"Advanced Sear*"

Следующие запросы не возвращают ожидаемые результаты:

title:"Advan* Search" title:"Advanced Sear"

Числовые значения свойств

В случае числовых значений свойств, к которым относятся управляемые типы Integer, Double и Decimal, ограничение свойства сопоставляется с полным значением свойства.

Значения даты и времени для свойств

KeyQL предоставляет тип данных datetime для даты и времени. YYYY-MM-DD

  • ГГГГ-ММ-ДД
  • YYYY-MM-DDThh:mm:ss
  • ГГГГ-ММ-ДДTчч:мм:ссZ
  • ГГГГ-ММ-ДДTчч:мм:ссfrZ

В этих форматах datetime:

  • ГГГГ задает год из четырех цифр.

    Примечание.

    Поддерживается только формат года из четырех цифр.

  • Параметр MM задает месяц в формате двух цифр. Например, 01 — это январь.

  • Параметр DD задает двузначное значение дня месяца (от 01 до 31).

  • Параметр T обозначает букву "T".

  • hh задает час из двух цифр (от 00 до 23); Указание A.M./P.M. не допускается.

  • Параметр mm обозначает минуты в формате двух цифр (от 00 до 59).

  • Параметр сс обозначает секунды в формате двух цифр (от 00 до 59).

  • fr указывает необязательную долю секунд, ss; от 1 до 7 цифр, которые следуют за . после секунд. Например, 2012-09-27T11:57:34.1234567.

Все значения даты и времени необходимо указывать в часовом поясе UTC (другое название — GMT). Идентификатор часового пояса UTC (завершающий символ "Z") необязателен.

Соответствующие интервалы дат, поддерживаемые KeyQL

KeyQL позволяет создавать поисковые запросы, поддерживающие относительный запрос диапазона "день", с зарезервированными ключевыми словами, как показано в таблице 4. Используйте двойные кавычки ("") для интервалов дат, между их названиями ставьте пробел.

Совпадения будут включать элементы, измененные сегодня:

LastModifiedTime=today

Совпадения будут включать элементы от начала текущего года до его окончания:

LastModifiedTime="this year"

Матчи будут включать элементы с 1 января 2019 г. по 26 апреля 2019 г.:

LastModifiedTime>=2019-01-01 AND LastModifiedTime<=2019-04-26

Табл. 4. Зарезервированные ключевые слова для интервала даты

Имя интервала дат Описание
today
Представляет период времени с начала текущего дня до его окончания.
yesterday
Представляет период времени с начала предшествующего дня до его окончания.
this week
Представляет период времени от начала текущей недели до ее окончания. При определении первого дня недели учитываются традиции региона, в котором формируется текст запроса.
this month
Представляет период времени с начала текущего месяца до его окончания.
last month
Представляет период времени от начала предыдущего месяца до его окончания.
this year
Представляет период времени от начала текущего года до его окончания.
last year
Представляет весь год, предшествующий текущему.

Использование нескольких ограничений свойств в запросе KeyQL

Поиск в SharePoint поддерживает использование нескольких ограничений свойств в пределах одного KeyQL запроса. В каждом ограничении можно использовать одно и то же свойство или разные свойства.

При использовании нескольких экземпляров одного и того же ограничения свойства совпадения основаны на объединении ограничений свойств в запросе KeyQL. В этом примере совпадения включают элементы контента, автором которого является John Smith или Jane Smith:

author:"John Smith" author:"Jane Smith"

Результат будет таким же, как и при использовании логического оператора OR в запросе, например:

author:"John Smith" OR author:"Jane Smith"

При использовании различных ограничений свойств совпадения основаны на пересечении ограничений свойств в запросе KeyQL следующим образом:

author:"John Smith" filetype:docx

Совпадения будут содержать документы Microsoft Word, созданные пользователем John Smith. Такой же результат будет при использовании логического оператора AND, как показано в следующем примере:

author:"John Smith" AND filetype:docx

Группирование ограничений свойств в запросе KeyQL

Область применения: Office 365 | SharePoint Online | SharePoint 2019

С помощью скобок () можно сгруппировать несколько ограничений, связанных с определенным свойством типа Text в следующем формате:

<Property Name>:(<Expression>)

В более сложных запросах может быть полезно использовать нотацию (), чтобы составлять более краткие и удобочитаемые выражения запросов.

Следующий запрос:

author:"John Smith" AND author:"Jane Smith"

можно перезаписать следующим образом:

author:("John Smith" "Jane Smith")

Следующий запрос:

title:Advanced title:Search title:Query NOT title:"Advanced Search Query"

можно перезаписать следующим образом:

title:((Advanced OR Search OR Query) -"Advanced Search Query")

Следующий запрос:

title:Advanced XRANK(cb=1) title:Search XRANK(cb=1) title:Query

можно перезаписать следующим образом:

title:(Advanced XRANK(cb=1) Search XRANK(cb=1) Query)

Примечание.

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

title:page возвращает совпадение со страницей точного термина, а title:(page) также возвращает совпадения для страниц терминов.

Фильтрация по элементам, в которых текстовое свойство пусто или содержит значение

Область применения: Office 365 | SharePoint Online

Для управляемых свойств типа Text в схеме поиска, для которых задано значение Queryable, можно использовать оператор подстановочных знаков (*) в качестве выражения свойства для фильтрации по элементам, которые имеют значение или не имеют значения.

Синтаксис для возврата элементов, в которых текстовое свойство имеет значение:

<Property Name>:*

Синтаксис для возврата элементов, в которых текстовое свойство не имеет значения:

NOT <Property Name>:*

В следующем примере возвращаются сайты, связанные с центральным сайтом, за исключением самих центральных сайтов:

(DepartmentId:* OR RelatedHubSites:*) AND contentclass:sts_site NOT IsHubSite:true

операторы KeyQL для сложных запросов

синтаксис KeyQL включает несколько операторов, которые можно использовать для создания сложных запросов.

Логические операторы

Используйте логические операторы, чтобы расширить или сузить область поиска. Логические операторы можно использовать с свободными текстовыми выражениями и ограничениями свойств в KeyQL запросах. В таблице 5 перечислены поддерживаемые логические операторы.

Табл. 5. Логические операторы, поддерживаемые в KeyQL

Описание Описание
AND
Возвращает результаты поиска, содержащие все произвольные выражения или ограничения свойств, заданные оператором AND. Необходимо указать допустимое свободное текстовое выражение и (или) допустимое ограничение свойства как перед оператором AND , так и после оператора AND. Представьте, что используете знак "+".
NOT
Возвращает результаты поиска, не содержащие заданных произвольных выражений или ограничений свойств. Укажите допустимое произвольное текстовое выражение и (или) допустимое ограничение свойств после оператора NOT. Представьте, что используете знак "-".
ИЛИ
Возвращает результаты поиска, содержащие одно или несколько заданных произвольных выражений или ограничений свойств. Необходимо указать допустимое свободное текстовое выражение и (или) допустимое ограничение свойства как перед оператором OR , так и после этого.

Операторы поиска с учетом расположения

Используйте операторы поиска с учетом расположения, чтобы получить результаты, в которых заданные термины находятся в непосредственной близости друг от друга. Операторы близкого взаимодействия можно использовать только с выражениями свободного текста; Они не поддерживаются с ограничениями свойств в KeyQL запросах. Существует два оператора операторы поиска с учетом расположения: NEAR и ONEAR.

Оператор NEAR

Оператор NEAR возвращает совпадения, в которых заданные термины поиска находятся в непосредственной близости друг от друга (при этом не учитывается порядок следования терминов). Синтаксис оператора NEAR:

<expression> NEAR(n=4) <expression>

Где n — необязательный параметр, указывающий максимальное расстояние между терминами. Значение n является целым числом >= 0 и значением по умолчанию 8.

Параметр n можно указать как n=v , где v представляет значение, или сокращен до только v; например NEAR(4) , где v равно 4.

Например:

"acquisition" NEAR "debt"

Результатом запроса будут элементы, в которых термины "acquisition" и "debt" появляются в одном элементе, в котором за термином "acquisition" следует до восьми других терминов, а за ними — "debt" (или наоборот). Порядок терминов при поиске совпадений не учитывается.

Если вам нужно меньшее расстояние между терминами, укажите его. Следующий запрос сопоставляет элементы, в которых термины "приобретение" и "долг" отображаются в одном и том же элементе, где максимальное расстояние между терминами составляет 3. Опять же, порядок условий не влияет на соответствие.

"acquisition" NEAR(n=3) "debt"

Примечание.

В SharePoint оператор NEAR больше не сохраняет порядок токенов. Кроме того, оператор NEAR теперь принимает необязательный параметр, который указывает максимальное расстояние до токена. Однако значение по умолчанию все еще равно 8. Если нужно реализовать предыдущее поведение, используйте оператор ONEAR.

Оператор ONEAR

Оператор ONEAR соответствует результатам, в которых указанные условия поиска находятся в непосредственной близости друг от друга, сохраняя при этом порядок терминов. Синтаксис ONEAR выглядит следующим образом, где n — необязательный параметр, указывающий максимальное расстояние между терминами. Значение n является целым числом >= 0 и значением по умолчанию 8.

<expression> ONEAR(n=4) <expression>

Параметр n можно указать как n=v , где v представляет значение, или сокращен до только v; например ONEAR(4) , где v равно 4.

Например, результатом следующего запроса будут элементы, в которых термины "acquisition" и "debt" появляются в одном элементе, при этом за термином "acquisition" следует до восьми других терминов, а за ними — "debt". Порядок следования терминов должен совпадать с их порядком в возвращаемом элементе:

"acquisition" ONEAR "debt"

Если требуется меньшее расстояние между терминами, укажите его, как показано в примере ниже. Этот запрос сопоставляет элементы, в которых термины "приобретение" и "долг" отображаются в одном и том же элементе, где максимальное расстояние между терминами равно 3. Порядок следования терминов должен совпадать с их порядком в возвращаемом элементе:

"acquisition" ONEAR(n=3) "debt"

Операторы поиска синонимов

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

Указанный ниже пример запроса выдает результаты, содержащие термин "TV" или "television". Под ним приведен еще один запрос, его результаты аналогичны предыдущим.

WORDS(TV, Television) TV OR Television

Эти запросы отличаются ранжированием результатов. При использовании оператора WORDS термины "TV" и "television" рассматриваются как синонимы, а не как отдельные термины. Поэтому оба эти термина ранжируются, как если бы они были одним термином. Например, элемент контента, содержащий один термин "television" и пять терминов "TV", ранжируется так же, как элемент контента с шестью терминами "TV".

Оператор подстановочного знака

Используйте оператор подстановочного знака (символ звездочки, "*"), чтобы включить сопоставление префиксов. Вы можете указать в запросе начальную часть слова, поставив далее оператор подстановочного знака, как показано ниже. Результат следующего запроса — термины, начинающиеся на "serv" (при этом далее могут следовать другие знаки), например "serve", "server", "service":

serv*

Операторы включения и исключения

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

Табл. 6. Операторы для включения и исключения контента в результатах

Имя Оператор Поведение
Включение
" + "
Включает в результаты контент со значениями, совпадающими с теми, которые нужно включить.
Это поведение по умолчанию, если символы не указаны. Аналогичный результат будет при использовании оператора AND.
Исключения
" - "
Исключает контент со значениями, совпадающими с теми, которые нужно исключить. Аналогичный результат будет при использовании оператора NOT.

Оператор динамического ранжирования

Применяйте оператор XRANK, чтобы повысить динамический рейтинг элементов в зависимости от повторений определенных терминов в match expression, не меняя состав элементов, удовлетворяющих критериям запроса. Выражение XRANK содержит один компонент, который должен быть сопоставлен, выражение соответствия и один или несколько компонентов, которые влияют только на динамическое ранжирование— выражение ранжирования. Должен быть задан хотя бы один параметр (за исключением n), чтобы выражение XRANK было допустимым.

Примечание.

Задержка при выполнении запроса (и вероятность превышения времени ожидания) растет при использовании сложных запросов, особенно с операторами xrank. Увеличение задержки при выполнении запроса зависит от количества операторов XRANK и количества совпадений в компонентах совпадение выражения и ранжирующее выражение в дереве запросов.

Выражения соответствия могут быть любым допустимым KeyQL выражением, включая вложенные выражения XRANK. Выражения ранжирования могут быть любым допустимым KeyQL выражением без выражений XRANK. Если запросы KeyQL имеют несколько операторов XRANK, итоговое динамическое значение ранжирования вычисляется как сумма повышений по всем операторам XRANK.

Примечание.

Используйте круглые скобки, чтобы явно указать порядок вычислений для KeyQL запросов, имеющих несколько операторов XRANK на одном уровне.

Можно использовать следующий синтаксис оператора XRANK:

<match expression> XRANK(cb=100, rb=0.4, pb=0.4, avgb=0.4, stdb=0.4, nb=0.4, n=200) <rank expression>

Динамического рейтинг с использованием оператора XRANK вычисляется по формуле:

Формула для оператора XRANK

В таблице 7 перечислены основные параметры, доступные для оператора XRANK.

Табл. 7. Параметры оператора XRANK

Параметр Значение Описание
n
<целое_число>
Задает количество результатов, для которых вычисляются статистические данные.
Этот параметр не влияет на количество результатов, на которые влияет динамический рейтинг. С его помощью из вычисления статистики просто исключаются ненужные элементы.
Значение по умолчанию: 0. Нулевое значение содержит семантику всех документов .
nb
<значение_с_плавающей_запятой>
Параметр nb ссылается на нормированную величину. Этот параметр определяет коэффициент, на который умножается произведение дисперсии и среднего арифметического значений рейтингов в наборе результатов.
Параметр f в формуле XRANK.

Как правило, нормализованный boost, nb, является единственным параметром, который изменяется. Этого параметра достаточно, чтобы понижать или повышать рейтинг отдельного элемента, не учитывая стандартное отклонение.

Доступны также дополнительные параметры, указанные ниже. Но обычно они не используются.

Табл. 8. Дополнительные параметры оператора XRANK

Параметр Значение Описание
cb
<значение_с_плавающей_запятой>
Параметр cb ссылается на постоянную величину.
Значение по умолчанию: 0.
Параметр a в формуле XRANK.
stdb
<значение_с_плавающей_запятой>
Параметр stdb ссылается на величину стандартного отклонения.
Значение по умолчанию: 0.
Параметр e в формуле XRANK.
avgb
<значение_с_плавающей_запятой>
Параметр avgb ссылается на среднее значение.
Значение по умолчанию: 0.
Параметр d в формуле XRANK.
rb
<значение_с_плавающей_запятой>
Параметр rb ссылается на диапазон значений. Этот коэффициент умножается на диапазон значений рейтингов в наборе результатов.
Значение по умолчанию: 0.
Параметр b в формуле XRANK.
pb
<значение_с_плавающей_запятой>
Параметр pb ссылается на значение в процентах. Этот коэффициент умножается на собственный рейтинг элемента в сравнении с минимальным значением в наборе.
Значение по умолчанию: 0.
Параметр c в формуле XRANK.

Примеры

Пример 1. Следующее выражение сопоставляет элементы, для которых полнотекстовый индекс по умолчанию содержит "cat" или "dog". Выражение увеличивает на постоянную величину 100 динамический рейтинг элементов, содержащих также термин "thoroughbred".

(cat OR dog) XRANK(cb=100) thoroughbred

Пример 2. Следующее выражение сопоставляет элементы, для которых полнотекстовый индекс по умолчанию содержит термины "cat" или "dog". Выражение увеличивает динамический рейтинг элементов на нормированную величину 1,5 для элементов, содержащих также термин "thoroughbred".

(cat OR dog) XRANK(nb=1.5) thoroughbred

Пример 3. Следующее выражение сопоставляет элементы, для которых полнотекстовый индекс по умолчанию содержит термины "cat" или "dog". Выражение увеличивает динамический рейтинг элементов на постоянную величину 100 и нормированную величину 1,5 для элементов, содержащих также термин "thoroughbred".

(cat OR dog) XRANK(cb=100, nb=1.5) thoroughbred

Пример 4. Следующее выражение сопоставляет все элементы, содержащие термин "animals", и увеличивает динамический рейтинг следующим образом:

  • динамический рейтинг элементов, содержащих термин "dogs", увеличивается на 100 баллов;
  • динамический ранг элементов, содержащих термин "cats", увеличивается на 200 баллов;
  • динамический рейтинг элементов, содержащих и термин "dogs", и термин "cats", увеличивается на 300 баллов.

(animals XRANK(cb=100) dogs) XRANK(cb=200) cats

Круглые скобки

Можно объединять разные части запросов по ключевым словам с помощью открывающей скобки " ( " и закрывающей скобки " ) ". Каждой открывающей скобке " ( " должна соответствовать закрывающая скобка " ) ". Пробел до или после скобки не влияет на запрос.

См. также