如何使用query_string匹配确切的单词

时间:2019-03-27 10:48:12

标签: elasticsearch

我有一个Elasticsearch字段值slimextra slim,如果我搜索slim,我将得到extra slim包含的文档。我想匹配确切的单词。我在查询时使用了fieldName.keyword,但是如果该字段包含多个单词,则无法正常工作。

我使用的查询是

{"query_string": {"query": "(fit:slim)" } }

如何使用query_string仅匹配指定的值?

1 个答案:

答案 0 :(得分:1)

要查找与某个字段的完全匹配,请在keyword字段上使用term query

查询:

{
  "query": {
    "term": {
      "fit.keyword": "slim"
    }
  }
}

更新:通过query_string

要使用query_string进行完全匹配,请将要匹配的字符串用引号引起来。

{
  "query": {
    "query_string": {
      "query": "fit.keyword:\"extra slim\""
    }
  }
}