我有以下兩個文件:ElasticSearch - 問題與子項的聚集與數組字段
{
"title":"The Avengers",
"year":2012,
"casting":[
{
"name":"Robert Downey Jr.",
"category":"Actor",
},
{
"name":"Chris Evans",
"category":"Actor",
}
]
}
和:
{
"title":"The Judge",
"year":2014,
"casting":[
{
"name":"Robert Downey Jr.",
"category":"Producer",
},
{
"name":"Robert Duvall",
"category":"Actor",
}
]
}
我想執行的聚合,基於兩個領域:鑄造。名稱和casting.category。
我嘗試使用基於casting.name字段的TermsAggregation,並使用subaggregation,這是另一個基於casting.category字段的TermsAggregation。
問題是,對於「克里斯埃文斯」條目,ElasticSearch爲所有類別(Actor,Producer)設置存儲桶,而它應該只設置1個存儲桶(Actor)。
似乎在所有casting.category事件和所有casting.name事件之間存在笛卡爾積。 它的行爲像數組字段(鑄造),而我沒有問題與簡單的領域(如標題或年份)。
我也嘗試使用嵌套聚合,但可能不正確,ElasticSearch拋出一個錯誤,告訴casting.category不是嵌套字段。
這裏的任何想法?
好吧,這是偉大的,謝謝澄清! – julien
這太棒了 - 很高興我能幫上忙。你能接受答案嗎? –