我刚刚开始研究ElasticSearch并对模糊查询提出了一些问题。假设我有一个这样的文档:
{ "name": "Frankie's Hot Dogs" }
使用模糊查询,如果我使用以下参数进行搜索,则不会收到任何结果:
"fuzzy": {
"name": {
"value": "FRANKIES",
"fuzziness": 2
}
}
这是预期的行为吗?我认为,由于该字段默认为标准分析器,因此名称字段将被标记化并小写为:
["frankie's", "hot", "dogs"]
那么搜索模糊查询会不会自动小写搜索字词?或者情况不是这样吗?
最后,是否有人对查询数据有任何建议,以便FRANKIES实际返回命中?
提前致谢。
答案 0 :(得分:2)
使用fuzzy_like_this查询
"query": {
"fuzzy_like_this" : {
"fields" : ["name"],
"like_text" : "FRANKIES"
}
}