home

Синтаксис поисковых запросов

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

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

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

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

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

привет | мир

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

привет -мир

привет !мир

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

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

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

=уникальный

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

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

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

@title заголовок

@text текст

@person автор, редактор или другой человек

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

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

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

@text[300] текст

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

@* текст

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

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

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

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

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

^слово

Поиск в конце

слово$

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

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

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

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

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

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

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

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

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

@person - автор, редактор

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

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

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

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

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

одна фраза

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

одна & фраза

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

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

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

Выражение

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

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

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

Поиск на естественном языке

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

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

1) Удаляются некоторые слова, как правило не несущие смысла, такие как: "скачать", "бесплатно", "или", "download", "free"...

2) Некоторые слова заменяются на фильтры по типу контента. Например: "книга" будет заменено на "@type ebook | epub", а "видео" на "@type myvideo"...

3) Команда @catalog {nid} автоматически заменяется на @catalog nid | sub_nid1 | sub_nid2 ... , где sub_nid1, sub_nid2, ... - вложенные в каталог с идентификатором ноды nid подкаталоги на всю иерархию. Также будут добавлены все книги путем дополнения @ebook ebook_nid1 | ebook_nid2..., где ebook_nid1, ebook_nid2 - идентификаторы нод книг, вложенных в поддиректории относительно nid каталога.

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