Как работает поиск

На сайте используется поисковая система Elasticsearch.

Для составления индексов применяются один из самых полных словарей русской морфологии, алгоритмы стемминга, расширенная поддержка юникода ICU, словари стоп слов.


Полнотекстовый поиск

Для поиска можно использовать запросы на естественном языке без сокращений. Например большая панда косметика. Кроме этого, запросы по составным частям слов не длиннее 10-ти символов как, например, панда больш космет вернут все вопросы, в которые входят указанные буквосочетания. Cимвол * может использоваться как замена любого количества любых символов, но не в начале слова. Например: вечер* космет* панд*.


Оператором поиска по умолчанию является логический оператор AND:

  • Поисковой запрос Лондон столица Англии будет интерпретирован как Лондон AND столица AND Англии. Таким образом, будут найдены только вопросы, в которых есть все три слова.
  • | обозначает логический оператор OR. Для поиска вопросов, в которых должна быть обязательно столица и либо Лондон, либо Париж можно использовать такой запрос: столица (Лондон | Париж).

В поисковых запросах поддерживается следующие операторы:

  • " " При использовании кавычек будут найдены вопросы, в которых есть слово или словосочетание (взятое в кавычки) именно в той форме, что и в поисковом запросе.
  • - исключает результаты содержащие токен. Запрос столица -Париж вернёт результаты, в которых есть столица, но нет Парижа.
  • ( и ) используются для группировки и обозначения очередности при использовании операторов AND и/или OR
  • ~N после слова позволяет задать допуск нечеткости токена (fuzziness), где N-число.
  • ~N после фразы позволяет задать допуск нечеткости фразы (slop), где N-число.

Поиск по тэгам, автор(к)ам и редактор(к)ам - фильтрующий. Для корректной работы необходимо добуквенное совпадение.