Я использую составную агрегацию для вложенных полей вasticsearch, но я хочу исключить некоторые термины из результата.
Эта агрегация работает:
{
"size": 0,
"geo": {
"communication": {
"nested": {
"path": "geo"
},
"aggs": {
"table": {
"composite": {
"size": 1000,
"sources": [
{"stk1": {"terms": {"field": "geo.src"}}},
{"stk2": {"terms": {"field": "geo.dest"}}}
]
}
}
}
}
}
}
Но я хочу исключить некоторые термины из stk2,
{
"size": 0,
"aggs": {
"geo": {
"nested": {
"path": "geo"
},
"aggs": {
"table": {
"composite": {
"size": 1000,
"sources": [
{"stk1": {"terms": {"field": "geo.src"}}},
{"stk2": {"terms": {"field": "geo.dest", "exclude":"cancel"}}}
]
}
}
}
}
}
}
Приведенный выше запрос не работает.
ОБНОВЛЕНИЕ 1: В результате должны быть пропущены только элементы массива, а не весь документ, содержащий «отмена».
Я использую эластичный v6.7