Синтаксис поисковых запросов для электронных книг

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

Пользователи могут использовать следующие операторы и модификаторы поиска:

Оператор И (AND)

слово1 & слово2

Оператор ИЛИ (OR): 

привет | мир

Оператор отрицания (NOT):

привет -мир

привет !мир

Оператор порядка следования (before):

слово1 << слово2 << слово3

Модификатор точного совпадения:

=уникальный

Поиск по фразе

"уникальное словосочетание"

Оператор поиска по метаинформации

@title заголовок

@text текст

@author автор

@date год издания

Оператор поиска по метоинформации с модификатором отступа от начала поля

@title[10] заголовок

@text[300] текст

Поиск по всем поляем метаинформации

@* текст

Поиск на приблизительном расстоянии

"слово1 слово2"~10

Поиск по кворуму

"Пусть совпадет любые четыре слова из выражения"/4

Поиск в начале

^слово

Поиск в конце

слово$

Группировка ( )

найти -(без этой фразы)

Выполнение сложного поискового запроса

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

Пример вычисляемого запроса: слово1 -слово2

Пример невычислимого запроса: -слово

Поля метаинформации, которые можно указывать в поисковом запросе

@title - заголовок документа

@text - текст страницы книги

@author - автор

@date - дата (год)

@type - тип документа (ebook, ebookpage, presentation,  livetv, myvideo, webvideo, subj...)

Логика написания поискового запроса

По умолчанию между всеми словами стоит оператор И.

Поисковый запрос

одна фраза

эквивалентен

одна & фраза

Используйте группировку для создания сложных запросов с усечениями

(кошка -собака) | (гусь -свинья)

Оператор ИЛИ имеет приоритет больший оператора И

Выражение

Вчера посмотрел отличный | нудный | ужасный фильм

эквивалентно

Вчера & посмотрел & ( отличный | нудный | ужасный ) & фильм