一尘不染

ElasticSearch术语按整个字段聚合

elasticsearch

如何编写一个将整个字段值而不是单个标记考虑在内的ElasticSearch术语聚合查询?比如,我想通过城市名聚集,但下面的回报newyorksanfrancisco作为单独的水桶,不new yorksan francisco的水桶预期。

curl -XPOST "http://localhost:9200/cities/_search" -d'
{
   "size": 0, 
   "aggs" : {
     "cities" : {
         "terms" : { 
            "field" : "city",
            "min_doc_count": 10
         }
     }
   }
}'

阅读 226

收藏
2020-06-22

共1个答案

一尘不染

您应该在映射中解决此问题。添加一个not_analyzed字段。如果您还需要分析的版本,则可以创建多字段。

"album": {
  "city": "string",
  "fields": {
    "raw": {
      "type": "string",
      "index": "not_analyzed"
    }
  }
}

现在在city.raw上创建聚合

2020-06-22