我正在使用elasticsearch来搜索具有大量重复项的数据库。 我正在使用现场倒塌并且它可以正常工作,但它会返回点击量(包括重复次数),而不是桶的数量。
"aggs": {
"uniques": {
"terms": {
"field": "guid"
},
"aggs": {
"jobs": { "top_hits": { "_source": "title", "size": 1 }}
}
}
}
我可以通过使用基数发出另一个请求来计算存储区(但它只返回计数,而不是文档):
{
"aggs" : {
"uniques" : {
"cardinality" : {
"field" : "guid"
}
}
}
}
有没有办法在一次搜索中返回两个请求(存储桶+总存量计数)?
由于
答案 0 :(得分:14)
您可以将这两种聚合合并为一个请求。
{
"aggs" : {
"uniques" : {
"cardinality" : {
"field" : "guid"
}
},
"uniquesTerms": {
"terms": {
"field": "guid"
},
"aggs": {
"jobs": { "top_hits": { "_source": "title", "size": 1 }}
}
}
}