問題- 我想要一個嵌套陣列 MATCHES 為空的檔案計數,例如“MATCHES”:[]。我的檔案結構如下所示(為簡單起見顯示了兩條記錄) -
{
"hits": [
{
"_type": "_doc",
"_id": "ef0a2c44179a513476b080cc2a585d95",
"_source": {
"DIVISION_NUMBER": 44,
"MATCHES": [
{
"MATCH_STATUS": "APPROVED",
"UPDATED_ON": 1599171303000
}
]
}
},
{
"_type": "_doc",
"_id": "ef0a2c44179a513476b080cc2a585d95",
"_source": {
"DIVISION_NUMBER": 44,
"MATCHES": [ ]
}
}
]
}
嘗試了解決方案- 我嘗試了不同的聚合方式(解決方法)(empty-match-agg1,empty-match-agg2 ...),但這些都沒有給出正確的結果。請幫忙!
"aggs": {
"sku": {
"nested": {
"path": "MATCHES"
},
"aggs": {
"empty-match-agg1": {
"missing": {
"field": "MATCHES"
}
},
"empty-match-agg2": {
"terms": {
"field": "MATCHES",
"missing": "N/A"
}
},
"empty-match-agg3": {
"sum": {
"script": {
"lang": "painless",
"source": "params['_source'].MATCHES"
}
}
},
"empty-match-agg4": {
"filter": {
"bool": {
"must_not": {
"nested": {
"query": {
"match_all": {}
},
"path": "MATCHES"
}
}
}
}
},
"empty-match-agg5": {
"terms": {
"field": "MATCHES"
}
}
}
}
}
uj5u.com熱心網友回復:
缺少聚合暫時不支持嵌套欄位。目前有一個未解決的問題。
要獲得空匹配的計數,您可以使用過濾器聚合,并將嵌套查詢包裝到 bool 查詢的 must_not 子句中。
{
"aggs": {
"missing_matches_agg": {
"filter": {
"bool": {
"must_not": {
"nested": {
"query": {
"match_all": {}
},
"path": "MATCHES"
}
}
}
}
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/523562.html
