Синтаксис языка запросов
Общие положения
Запрос состоит из терминов и операторов. Термин — это одно слово (например, в запросе ветер усиливается термины — ветер и усиливается). Если несколько терминов заключены в двойные кавычки, они рассматриваются как одна фраза, в которой слова сопоставляются в порядке их появления (например, "ветер усиливается"). Операторы (такие как OR, AND и NOT) определяют логику, используемую для интерпретации текста в строке запроса.
Зарезервированные символы
Список зарезервированных (служебных) символов:
+, -, =, &&, ||, >, <, !, (, ), {, }, [, ], ^, ", ~, *, ?, :, \, /
Если необходимо найти зарезервированные символы, их необходимо экранировать с помощью обратной косой черты \.
Например, для поиска выражения 2*3 укажите строку запроса: 2\*3.
Внимание
Символы > и < не могут быть экранированы, они всегда воспринимаются как служебные.
Подстановочные знаки
Подстановочные знаки:
?— заменяет один символ*— заменяет ноль или более символов
Например, с помощью запроса терминология AND онто* можно найти результаты, содержащие слово терминология и слово, начинающееся с онто.
Осторожно
Запросы с подстановочными знаками могут использовать значительный объем серверной памяти, что может снизить производительность поиска. Подстановочные знаки в начале слова (например, *гия) являются самыми "дорогими", поскольку сопоставление результатов по таким подстановочным знакам требует проверки всех терминов в поисковом индексе.
Булевы операторы
По умолчанию поиск возвращает результаты, содержащие как минимум один из указанных в поисковом запросе терминов. Используя булевы операторы можно переопределить это поведение.
Операторы + и -
Оператор + делает термин, следующий за ним, обязательным, а оператор - исключает термин, следующий за ним.
Например, в строке запроса +терминология онтология -bfo указано:
- термин
терминологиядолжен присутствовать в результатах - термин
онтологияявляется необязательным - термин
bfoне должен присутствовать в результатах
Обычные булевы операторы
Булевы операторы:
AND,&&— операторИOR,||— операторИЛИNOT,!— оператор инверсии
Используйте круглые скобки для задания приоритета при использовании нескольких булевых операторов. Например, запрос +терминология онтология -bfo можно переписать следующим образом с помощью булевых операторов:
((терминология AND онтология) OR терминология) AND NOT bfo