elasticSearch(ES)术语聚合结果是决赛入围者及其计数的近似值。 https://www.elastic.co/guide/en/elasticsearch/reference/1.6/search-aggregations-bucket-terms-aggregation.html
尽管决赛选手不准确,我还是希望得到最终决赛选手的准确数据。我想消除每桶文档计数错误。
我正在考虑发布第二个被决赛选手过滤的查询,因为我知道决赛选手的数量,如果我设置size =#finalists,我可以准确计算它们。
使用上面链接中的示例:在我获得前5个产品:a,z,c,g,b之后,我想找到他们的准确计数:
{
...
"aggregations" : {
"products" : {
"doc_count_error_upper_bound" : 46,
"buckets" : [
{
"key" : "Product A",
"doc_count" : 100,
"doc_count_error_upper_bound" : 0
},
{
"key" : "Product Z",
"doc_count" : 52,
"doc_count_error_upper_bound" : 2
},
...
]
}
}
}
现在估算了doc_counts,我可以发出第二个由产品ID筛选的查询:
{
...
"query": {
"filtered": {
"filter": {
"terms": {"product": ["Product A", "Product Z","Product C","Product G","Product B"]}
}
}
},
"aggs":{
"products":{
"terms":{
"field": "product",
"size": 5,
"shard_size": 5
}
}
}
}
我的问题是:
提前致谢。