Нечеткий запрос 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"
}
}