Нечеткий запрос ElasticSearch и чувствительность к регистру

Я только начал изучать ElasticSearch и у меня возникли вопросы по нечеткому запросу. Допустим, у меня был такой документ:

{ "name": "Frankie's Hot Dogs" }

Используя нечеткий запрос, если бы я искал по следующим параметрам, я бы не получил результатов:

"fuzzy": {
  "name": {
    "value": "FRANKIES",
    "fuzziness": 2
  }
}

Это ожидаемое поведение? Я думал, что, так как поле было установлено по умолчанию в Standard Analyzer, поле имени будет разбито на токены и в нижнем регистре будет выглядеть примерно так:

["frankie's", "hot", "dogs"]

Итак, не будет ли поиск по нечеткому запросу автоматически вводить строчные буквы в ваших поисковых терминах? Или это не тот случай?

И наконец, есть ли у кого-нибудь предложения по запросу данных, чтобы FRANKIES действительно возвращали удар?

Заранее спасибо.

1 ответ

Решение

Используйте fuzzy_like_this запрос

 "query": {
    "fuzzy_like_this" : {
        "fields" : ["name"],
        "like_text" : "FRANKIES"
    }
}
Другие вопросы по тегам