6
我正在嘗試對數組中的值進行聚合,並篩選由前綴返回的存儲區。不知道這是可能的還是我濫用過濾器桶。ElasticSearch從數組字段中過濾聚合
3個文件:
{ "colors":["red","black","blue"] }
{ "colors":["red","black"] }
{ "colors":["red"] }
的目標是獲得具有彩色文檔開頭字母B計數:
{
"size":0,
"aggs" : {
"colors" : {
"filter" : { "prefix" : { "colors" : "b" } },
"aggs" : {
"top-colors" : { "terms" : { "field":"colors" } }
}
}
}
}
也說回來包括紅不幸的結果。很明顯,因爲紅色的文檔仍然通過過濾器匹配,因爲它們也有藍色和/或黑色。
"aggregations": {
"colors": {
"doc_count": 2,
"top-colors": {
"buckets": [
{
"key": "black",
"doc_count": 2
},
{
"key": "red",
"doc_count": 2
},
{
"key": "blue",
"doc_count": 1
}
]
}
}
}
有沒有一種方法可以過濾桶結果?
Woops,不知道我怎麼錯過了在該文檔中,謝謝! – scott