Правила поиска

Описание языка запросов полнотекстового поиска по сайту МУП "РАЦ".
Примеры фраз для поиска:
1) "закон~" в результате будут статьи со словами "закон", "законом", "вагон" и т.п. Знак "~" говорит что нужны похожие слова;
2) "с*р" в результат будут статьи со словами "сыр", "самовар", "север" и т.п. Знак "*" говорит что нужны слова с любым количеством любых символов вместо этого знака;
3) "л?к" в результат будут статьи со словами "лак", "лук", а вот слово "лисёнок" уже не попадет в результат. Знак "?" говорит что нужны слова с любым символом вместо этого знака;
4) "барабан AND заяц" в результате будут статьи которые содержат оба слова "заяц" и "барабан".

Поиск по сайту использует технологию Apache Lucene(TM). Информация обычно представлена статьей на сайте, изображением или приложенным к статье файлом. Искать по сайту можно просто набрав искомое слово в поле "Поиск" и нажав Enter. Можно использовать дополнительные возможности поиска информации на сайте, которые описаны ниже.

Термы

Запросы состоят из термов и операторов. Термы бывают двух видов – Одиночные(Single) и Фразы(Prases). Первый тип это обычные слова, например, «стадион», «кошка». Второй тип термов это группа слов, например, «Дед мороз и снегурочка». В запросе можно использовать несколько термов, связанных с помощью логических операторов.

Маски (Wildcards)

Поиск документов по маске, например:

с*ь

рек?

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

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

Важно помнить, что * и ? не рекомендуется использовать в начале поискового запроса и по умолчанию парсер не разрешит создать такой запрос.

Нечеткий (Fuzzy) поиск

Для написания такого типа запросов необходимо поставить символ ~ в конце одиночного терма, например, запрос
привит~
найдет документы с текстом «Привет».
Можно задать коэффициент похожести:
привит~0.8
По умолчанию это значение равно 0.5.
Для термов из нескольких слов символ ~ используется для указания максимального расстояния между ними.

Поиск в диапазоне

Поиск документов по диапазону значений, например:
[Привес TO Привеу]
Соответственно, такой запрос найдет все документы содержащие слова «Привес», «Привет» и «Привеу». Если вы хотите исключить граничные значения, то используйте фигурные скобки:
{Привес TO Привеу}

Усиление термов

Например, чтобы документы со словом «Здравствуйте» были более релевантными нежели документы со словом «Привет», тогда можно построить запрос следующим образом:
Здравствуйте^5 Привет
Тоже самое можно делать и для фраз. По-умолчанию значение этой характеристики равно 1 и оно должно быть положительным (таким образом можно задать значение равное 0.1, например).

Логические операции

Логические операции позволяют комбинировать несколько термов. Например:
Здравствуйте OR Привет
или
Здравствуйте AND Привет
Еще можно задать обязательное слово при помощи символа «+»:
+Здравствуйте Привет
В данном случае слово «Здравствуйте» должно обязательно содержаться в документе, а слова «Привет» может и не быть в документе.
Можно задавать отрицание, т.е. указывать термы, которых не должно быть в документе, например:
Здравствуйте NOT Привет
Аналогичное поведение и у символа «-» перед термом:
Здравствуйте -Привет

Группировка

Следующий запрос
(Привет OR Здравствуйте) AND дела
найдет документы, в которых есть слово «Привет» или слово «Здравствуйте», а также есть слово «дела».

Экранирование символов

Все специальные символы Lucene можно экранировать. Их список:
+ - && || ! ( ) { } [ ] ^ " ~ * ? : \
Экранируются они при помощи символа «\»:
\(1\+1\)\:2

Поля

Можно искать данные в заданном поле документа. Для поиска по определенному полю необходимо в запросе написать название этого поля, дальше поставить двоеточие и после него написать терм. Например:
Text:"Привет как дела"
Строку, которая ищется, необходимо помещать в кавычки.

Контакты:

email: info@oskolrac.ru

телефон: +7 4725 463038

адрес: 309512 г. Старый Оскол, м-н Жукова, д. 48