Упругий поиск - реализовать "Вы имели в виду"

Мы пытаемся использовать Elastic Search в Rails-приложении и хотели бы использовать любой пример ввода/кода для реализации функции "вы имели в виду". По сути, мы хотим предоставить конечному пользователю возможность поиска альтернативного запроса, например, в google.

Ответ 1

Начиная с версии 0.90.0.Beta1, ElasticSearch имеет включенную функцию "term suggest", которая является тем, что вы ищете:

http://www.elasticsearch.org/guide/reference/api/search/term-suggest/

например. получить от этого запроса: "devloping distibutd saerch engies" этот результат: "разработка распределенных поисковых систем"

Ответ 2

У Elasticsearch еще нет его, он открывается как проблема здесь в основном он ждет следующего Lucene релиз.

Я добился аналогичного поведения "вы имели в виду" с помощью фонетических анализаторов которые работали для моего использования, имена мест, которые не являются собираюсь работать для всех случаев использования.

примерное отображение: - https://gist.github.com/1171014

чтобы вы могли запросить с помощью REST api, как это (неправильно настроенный лондон): -

{
  "query": {
    "field": {
      "nameSounds": "lundon"
    }
  }
}