Elastic Search - внедрите "Вы имели в виду" - PullRequest
11 голосов
/ 04 августа 2011

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

Ответы [ 3 ]

8 голосов
/ 04 сентября 2013

Начиная с версии 0.90.0.Beta1, в ElasticSearch включена функция «предложение по термину», которую вы ищете:

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

например. получить из этого запроса: "Devolping Distibutd Saerch Engies" этот результат: «разработка распределенных поисковых систем»

7 голосов
/ 25 августа 2011

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

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

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

так что вы можете запросить, используя REST API, как это (неправильно введенный Лондон) : -

{
  "query": {
    "field": {
      "nameSounds": "lundon"
    }
  }
}
1 голос
/ 21 января 2015

Вы можете использовать нечеткий поиск:

"fuzzy" : {
    "user" : {
        "value" :         "Jon",
        "boost" :         1.0,
        "fuzziness" :     3,
        "prefix_length" : 0,
        "max_expansions": 100
    }
}

Проверьте эту ссылку на нечеткость: http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-fuzzy-query.html

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