我想制作一个单个查询,它会告诉我我的映射中的哪些字段正在用于特定用户。这似乎是你应该能够用聚合做的事情,但我在如何绘制空白。
因此,如果我的地图包含user
,field1
,field2
和field3
。我想知道哪些实际出现在给定用户的文档中。我希望在12个文档中使用field1
,在20个文档中使用field2
,在用户field3
的5个文档中使用x
。
答案 0 :(得分:1)
如果我理解了这个要求,就应该这样做:
{
"size": 0,
"query": {
"term": {
"user": {
"value": "x"
}
}
},
"aggs": {
"field1_count": {
"filter": {
"exists": {
"field": "field1"
}
}
},
"field2_count": {
"filter": {
"exists": {
"field": "field2"
}
}
},
"field3_count": {
"filter": {
"exists": {
"field": "field3"
}
}
}
}
}