我正在使用elasticsearch搜索一个有很多重复项的数据库。我使用的是字段colapse,它可以工作,但是它返回的是命中(包括重复)的数量,而不是存储桶的数量。
"aggs": {
"uniques": {
"terms": {
"field": "guid"
},
"aggs": {
"jobs": { "top_hits": { "_source": "title", "size": 1 }}
}
}
}我可以通过使用cardinality发出另一个请求来计算存储桶的数量(但它只返回count,而不返回文档):
{
"aggs" : {
"uniques" : {
"cardinality" : {
"field" : "guid"
}
}
}
}有没有办法在一次搜索中同时返回两个请求(存储桶+总存储桶计数)?
谢谢
发布于 2015-06-18 23:37:37
您可以将这两个聚合合并为一个请求。
{
"aggs" : {
"uniques" : {
"cardinality" : {
"field" : "guid"
}
},
"uniquesTerms": {
"terms": {
"field": "guid"
},
"aggs": {
"jobs": { "top_hits": { "_source": "title", "size": 1 }}
}
}
}https://stackoverflow.com/questions/30917089
复制相似问题