Имеются пять видов запросов:
Правила, относящиеся к запросам всех видов:
Дата и время относительно текущей даты и времени могут быть выражены со знаком "минус" (-), за которым следует одна или более пар "целое число-единица". Единицы задаются так: у — число лет, q — число кварталов (три месяца), гп — число месяцев, w — число недель, d — число дней, h — число часов, п — число минут из — число секунд. Числовые значения могут быть заданы в десятичном или в шестнадцатеричном виде. Шестнадцатеричные значения предваряются символами "0х".
Для поиска слова или фразы в заданном свойстве можно использовать оператор CONTAINS. Если оператор не задан, по умолчанию считается заданным оператор CONTAINS.
Следующие запросы эквивалентны:
Можно использовать булевы операторы AND, OR и NOT как в запросах на вхождение в содержимое, так и в запросах по свойствам. Оператор NEAR может применяться только в запросах по содержимому документов. Операторы в запросах могут быть записаны как в полной, так и в краткой форме (табл. 16.8).
Таблица 16.8. Полная и краткая формы операторов
Оператор |
Длинная форма |
Краткая форма |
AND |
AND |
& |
NOT |
AND NOT |
| |
OR |
OR |
& ! |
NEAR |
NEAR |
Near, ~ |
Следует заметить, что булевы операторы доступны только в английском написании.
Булевы операторы рассматриваются в следующем порядке: NOT, AND и NEAR, OR.
Для свободных текстовых запросов можно указывать группу слов или законченное предложение. Служба индексирования находит документы, которые лучше всего соответствуют словам и фразам в свободном текстовом запросе. Булевы операторы и подстановочные символы в таком запросе игнорируются. Чтобы искать фразу, ее нужно или заключить в кавычки, или предварить тэгом (phrase). Слова в запросе на поиск фразы должны встретиться в документе в указанном порядке, без пропуска слов.
Для запросов сопоставления с образцом служба индексирования выбирает документы, соответствующие образцу, который задается пользователем. В такого рода запросах используются маски (wildcards), запросы, задающие словоформы, регулярные выражения и операторы отношений.
В относительных запросах для поиска документов, свойства которых лежат в некотором диапазоне, можно использовать операторы отношения: больше, меньше, равно, не равно и т. п.
Векторно-пространственные запросы предназначены для поиска документов, которые соответствуют списку слов и фраз. Документы, которые возвращаются после выполнения векторно-пространственного запроса, не обязательно соответствуют каждому термину в запросе. Ранг каждого документа указывает, насколько хорошо документ соответствует запросу. Можно задавать весовые коэффициенты, чтобы управлять относительной важностью терминов для получения результата. Допустимые значения весов находятся в диапазоне от 0,0 до 1,0.