弹性搜索中的模糊查询

fuzzy query in elasticsearch

我关注了这个tutorial
我尝试了 3 个数据并且它有效但是当我添加 200 个数据就像教程 "text and id" 当我做研究时它不起作用

例如我有 { "index": { "_id": 237 }} { "text": "EMCO"} 当我做我的研究时:

GET /weef/dicoMot/_search {"query": { "fuzzy": {
     "text": "EMCO" }}}

我知道了:

{ "took": 36,"timed_out": false, "_shards": { "total": 5 "successful": 5, "failed": 0},
   "hits": { "total": 0, "max_score": null, "hits": [] }}

有什么建议吗?

您正在使用带有 "lowercase" 标记过滤器的标准分析器。

所以 "EMCO" 将被索引为 "emco"。

有两种方案可以解决这个问题:

  1. 使用小写关键字进行搜索,得到搜索结果:

    GET /weef/dicoMot/_search {"query": { "fuzzy": { "text": "emco" }}}

  2. 更新没有小写字母过滤器的索引分析器