嗨,我最近开始使用Elastic Search,但似乎无法让它仅搜索WHOLE WORDS。

例如:



我尝试使用以下内容:

{
  "query": {
    "bool": {
      "must": [
        {
          "match_phrase": {
            "default_field": "keywords.alias",
            "query": "abc"
          }
        }
      ],
      "must_not": [],
      "should": []
    }
  },
  "from": 0,
  "size": 10,
  "sort": [],
  "facets": {}
}

但是似乎没有任何作用。我怎样才能做到这一点?

最佳答案

我假设您在索引时间使用Standard Analyzer来分析字段,这会将数据拆分为单词。然后,您只需要使用Match Query(或更灵活的查询:Query String Query,它支持多字段,通配符搜索...)来查询数据:

{
  "query" : {
      "match" : {
         "keywords.alias" : {
            "query" : "abc"
          }
      }
  }
}

关于elasticsearch - Elasticsearch 查询:仅查询整个单词,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30387962/

10-11 20:47
查看更多