1
我在彈性搜索中有以下一組嵌套子集(field2是field1的subaggregation,field3是field2的subaggregation)。 然而,事實證明,字段3的術語聚合不會存儲沒有字段3的文檔。如何在elasticsearch中嵌套聚合中填充空和非空字段?
我的理解是我必須使用Missing subaggregation查詢來除了術語query for field3之外的那些查詢。
但我不知道如何將它添加到下面的查詢中以便同時存儲。
{
"size": 0,
"aggregations": {
"f1": {
"terms": {
"field": "field1",
"size": 0,
"order": {
"_count": "asc"
},
"include": [
"123"
]
},
"aggregations": {
"field2": {
"terms": {
"field": "f2",
"size": 0,
"order": {
"_count": "asc"
},
"include": [
"tr"
]
},
"aggregations": {
"field3": {
"terms": {
"field": "f3",
"order": {
"_count": "asc"
},
"size": 0
},
"aggregations": {
"aggTopHits": {
"top_hits": {
"size": 1
}
}
}
}
}
}
}
}
}
}
我在2.1.1版本,但不幸的是,新辦法不在內部層面上工作看到這個問題https://github.com/elastic/elasticsearch/issues/14882 – user2175783
好的電話。我正在2.2集羣上進行測試,並按預期工作。我並不知道2.1.1和之前的錯誤。我已經更新了我的答案,以澄清在哪個版本中,「missing」選項有效,幷包含您提供給錯誤詳細信息的鏈接。 – BrookeB