使用 query_string Elasticsearch 进行模糊搜索

fuzzy searching with query_string Elasticsearch

我在 Elasticsearch 中保存了一条记录,其中包含一个恰好等于 Clash of clans

的字符串

现在我想 search 这个 stringElasticsearch 我用这个

{
    "query_string" : {
        "query" : "clash"
    }
}

它工作得很好,但现在如果我写

"query" : "class"

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

{
    "query_string" : {
        "query" : "clas"
        "fuzziness":1
    }
}

但是 elasticsearch 仍然没有返回任何东西! 请帮忙,我不能使用 Fuzzy 查询,我只能使用 query_string。 谢谢

您需要使用 ~ operatorquery_string 中进行模糊搜索:

{
  "query": {
    "query_string": {
      "query": "class~"
    }
  }
}