使用query_string进行模糊搜索Elasticsearch

时间:2015-10-19 22:45:48

标签: elasticsearch fuzzy-search

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

现在我希望search stringElasticsearch并使用此

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

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

"query" : "class"

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

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

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

1 个答案:

答案 0 :(得分:9)

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

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