Elasticsearch Terms Aggregation 根据某一项的聚合
来源:互联网 发布:网络直播营销方案 编辑:程序博客网 时间:2024/06/01 01:33
原文
https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-terms-aggregation.html
根据某一项的每个唯一的值的聚合。
举例:
{ "aggs" : { "genres" : { "terms" : { "field" : "genre" } } }}
返回
{ "aggregations" : { "genres" : { "doc_count_error_upper_bound": 0, "sum_other_doc_count": 0, "buckets" : [ { "key" : "jazz", "doc_count" : 10 }, { "key" : "rock", "doc_count" : 10 }, { "key" : "electronic", "doc_count" : 10 }, ] } }}
上面 ,对于genre 这个字段,对它里面的各个值的文档数量进行统计。
doc_count_error_upper_bound 未知
sum_other_doc_count 当有大量不同值时,ES只返回数量最多的项。这个数字表示有多少文档的统计数量没有返回。
默认情况,对于某一项的聚合,只会返回数量最高的10项,通过调整size参数,可以控制默认的行为。
我测试到,令size=0时候,会返回所有的项。
Size
size参数用来指定在列表中返回多少项。如果该项的值的个数要大于这个size ,那么返回的结果可能会不准确,有轻微的误差。甚至文档数最多的那个值没有的返回。
文档的数量是大约的量
文档的数量是不准确的,只是一个大概值。因为每个分片给出它排好的前n的部分,然后再把各个分片的结果联合成最后的结果。
官方文档给了一个非常好的例子,还有几张表格,说明造成这个情况的原因。可以自己跳过去阅读以下就明白了。这一切的原因都是因为 ES是一个分布式的存储方式。
Shard size
取得size的值越大,结果会越接近准确,当然这样导致的负载也会越高(因为更多的查询和节点之间大数据量的传输)。
默认shard_size是等于size的。如果shard_size 取更大的值,结果会更准确。
计算文档数错误
有两个错误值会显示在项的聚合上,第一个doc_count_error_upper_bound ,给出个没有被算进最后的结果的最大可能的数字。这个表明在最坏情况下,有doc_count_error_upper_bound 这么多文档个数的一个值被遗漏了。 这就是doc_count_error_upper_bound (文档数错误上界)这个参数的意义。
每个桶里的错误数
如果设置show_term_doc_count_error这个参数为ture,还会对每个 bucket都显示一个错误数,表示最大可能的误差情况。
而且,如果不是按照排序的话,这个错误是算不出来的,这时候,会给一个-1来表示这种有错,但是不知道错误边界的情况。
Order
用order参数可以做排序,默认是按照doc_count倒序排列的。
可以改变默认情况
“order” : { “_count” : “asc” } 这是按照doc_count升序排列
“order” : { “_term” : “asc” } 这是按照字母表升序排列。
- Elasticsearch Terms Aggregation 根据某一项的聚合
- Elasticsearch Terms Aggregation 详解
- elasticsearch 之Aggregation聚合
- Elasticsearch--Aggregation详细总结(聚合统计)
- Elasticsearch Scripted Metric Aggregation 自定义聚合
- 关于ECO对象关联的Aggregation聚合选择项
- Aggregation-聚合
- 聚合(Aggregation)和组合(Composition)的区别
- 聚合(Aggregation)和组合(Composition)的区别
- 组合与聚合的选用 (Composition & Aggregation)
- Composition(组合)与Aggregation(聚合)的区别
- MongoDB Aggregation, mongoDB的聚合操作
- Composition(组合)与Aggregation(聚合)的区别
- ElasticSearch中aggregation的作用域
- elasticsearch中aggregation的简单用法
- [Elasticsearch] 聚合的测试数据
- VLAN聚合(VLAN Aggregation)
- monodb 聚合框架 Aggregation
- POJ-2486-树形dp
- Poj_2586 Y2K Accounting Bug(数学)
- 丢失undo表空间后恢复
- colorhistogram.h
- java内部类
- Elasticsearch Terms Aggregation 根据某一项的聚合
- 4-基本布局+CSS样式属性+盒子模型
- cf 743D
- CodeForces-743D Chloe and pleasant prizes(树型dp)
- usaco Electric Fence
- hdu1018 big number
- 转发与重定向的区别
- Ubuntu自动生成图片文件名列表
- 我的编程之路(0)