当执行带有3个过滤器的过滤查询时,有没有办法知道哪个过滤器,过滤了多少文件?
我还有20个过滤器,有时只有一个过滤器有问题,过滤所有文件,我想得到指示。
这有意义吗?
答案 0 :(得分:1)
是的,您可以使用filters
aggregation进行操作。将每个过滤器放在内部filters
哈希值中,在响应中,您会看到匹配每个过滤器的doc_count
。
{
"size": 0,
"aggs": {
"messages": {
"filters": {
"filters": {
"filter1": {
"term": {
"field1": "sample1"
}
},
"filter2": {
"term": {
"field2": "sample2"
}
}
}
}
}
}
}
然后,当您掌握了这些信息时,最好重新设计查询并从选择最少文档的过滤器开始订购过滤器,以便下一个过滤器链接尽可能少的文档。