Ich bin wirklich neu in elasticsearch Welt.Elasticsearch Filteraggregationen auf minimalen Doc-Anzahl
Lassen Sie uns sagen, dass ich eine verschachtelte Aggregation auf zwei Felder: field1
und field2
:
{
...
aggs: {
field1: {
terms: {
field: 'field1'
},
aggs: {
field2: {
terms: {
field: 'field2'
}
}
}
}
}
}
Dieses Stück Code funktioniert perfekt und gibt mir etwas wie folgt aus:
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
},
...
]
},
...
]
}
}
Nun, mein Bedürfnis ist, alle Aggregationsergebnisse auszuschließen, wobei doc_count
zum Beispiel weniger als 1000 ist, und erhalten stattdessen:
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
},
...
]
},
...
]
}
}
Ist es möglich, diesen Bedarf im Abfragetext festzulegen? Oder muss ich den Filter im Caller-Layout (in meinem Fall Javascript) durchführen?
Vielen Dank im Voraus