如何编写一个将整个字段值而不是单个标记考虑在内的ElasticSearch术语聚合查询?比如,我想通过城市名聚集,但下面的回报new,york,san并francisco作为单独的水桶,不new york和san francisco的水桶预期。
new
york
san
francisco
new york
san francisco
curl -XPOST "http://localhost:9200/cities/_search" -d' { "size": 0, "aggs" : { "cities" : { "terms" : { "field" : "city", "min_doc_count": 10 } } } }'
您应该在映射中解决此问题。添加一个not_analyzed字段。如果您还需要分析的版本,则可以创建多字段。
"album": { "city": "string", "fields": { "raw": { "type": "string", "index": "not_analyzed" } } }
现在在city.raw上创建聚合