使用query_string进行模糊搜索Elasticsearch

maq*_*maq 5 fuzzy-search elasticsearch

我有一个保存的记录,Elasticsearch其中包含一个完全等于的字符串Clash of clans

现在我想searchstringElasticsearch我用这个

{
    "query_string" : {
        "query" : "clash"
    }
}
Run Code Online (Sandbox Code Playgroud)

它的工作完美,但现在如果我写

"query" : "class"
Run Code Online (Sandbox Code Playgroud)

它没有给我任何记录,所以我意识到我应该使用Fuzzy搜索,所以我知道我可以使用fuzziness参数,query_string所以我做了

{
    "query_string" : {
        "query" : "clas"
        "fuzziness":1
    }
}
Run Code Online (Sandbox Code Playgroud)

但仍然弹性搜索没有返回任何东西!请帮助,我不能使用Fuzzy查询我只能使用query_string.谢谢

And*_*fan 12

您需要使用〜运算符进行模糊搜索query_string:

{
  "query": {
    "query_string": {
      "query": "class~"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

  • 如果我有“查询”:`${search}*` 怎么办?如何使用模糊性? (2认同)