Elasticsearch文档 建议 *他们的一段代码
*文件固定
GET /cars/transactions/_search?search_type=count { "aggs": { "distinct_colors": { "cardinality": { "field": "color" } } } }
对应于sql查询
SELECT DISTINCT(color) FROM cars
但实际上对应于
SELECT COUNT(DISTINCT(color)) FROM cars
我不想知道我有多少不同的值,但是什么是不同的值。有人知道如何实现吗?
在字段上使用术语汇总color。并且您需要注意如何分析要获取不同值的字段,这意味着您需要确保在建立索引时没有对它进行标记,否则聚合中的每个条目都是一个不同的术语,属于字段内容。
color
如果您仍然希望令牌化并使用terms聚合,则可能需要查看not_analyzed该字段的索引类型,并可能使用多字段。
terms
not_analyzed
汽车术语汇总:
GET /cars/transactions/_search?search_type=count { "aggs": { "distinct_colors": { "terms": { "field": "color", "size": 1000 } } } }