Tôi thực sự mới đến thế giới elasticsearch.Tổng hợp bộ lọc Elasticsearch trên số lượng tài liệu tối thiểu
Hãy nói rằng tôi có một tập hợp lồng nhau trên hai lĩnh vực: field1
và field2
:
{
...
aggs: {
field1: {
terms: {
field: 'field1'
},
aggs: {
field2: {
terms: {
field: 'field2'
}
}
}
}
}
}
Đoạn mã này hoạt động hoàn hảo và mang lại cho tôi một cái gì đó như thế này:
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
},
...
]
},
...
]
}
}
Bây giờ, nhu cầu của tôi là loại trừ tất cả kết quả tổng hợp trong đó doc_count
nhỏ hơn 1000 ví dụ và nhận được thay thế này:
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
},
...
]
},
...
]
}
}
Có thể đặt nhu cầu này trong phần truy vấn không? hoặc tôi có phải thực hiện các bộ lọc trong bố trí người gọi (trong javascript trong trường hợp của tôi)?
Cảm ơn trước