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