Sono davvero nuovo nel mondo elasticsearch.Aggregazioni di filtri Elasticsearch su numero minimo di documenti
Diciamo che ho un'aggregazione nidificato su due campi: field1
e field2
:
{
...
aggs: {
field1: {
terms: {
field: 'field1'
},
aggs: {
field2: {
terms: {
field: 'field2'
}
}
}
}
}
}
Questo pezzo di codice funziona perfettamente e mi dà qualcosa di simile:
aggregations: {
field1: {
buckets: [{
key: "foo",
doc_count: 123456,
field2: {
buckets: [{
key: "bar",
doc_count: 34323
},{
key: "baz",
doc_count: 10
},{
key: "foobar",
doc_count: 36785
},
...
]
},{
key: "fooOO",
doc_count: 423424,
field2: {
buckets: [{
key: "bar",
doc_count: 35
},{
key: "baz",
doc_count: 2435453
},
...
]
},
...
]
}
}
Ora, il mio bisogno è quello di escludere tutti i risultati di aggregazione dove doc_count
è minore di 1000 per esempio e ottenere questo invece:
aggregations: {
field1: {
buckets: [{
key: "foo",
doc_count: 123456,
field2: {
buckets: [{
key: "bar",
doc_count: 34323
},{
key: "foobar",
doc_count: 36785
},
...
]
},{
key: "fooOO",
doc_count: 423424,
field2: {
buckets: [{
key: "baz",
doc_count: 2435453
},
...
]
},
...
]
}
}
È possibile impostare questa necessità nel corpo della query? o devo eseguire il filtro nel layout del chiamante (in javascript nel mio caso)?
Grazie in anticipo