目前我通过此查询计算了一系列值:
$ curl -XGET 'http://localhost:9200/myindex/mytype/_count' -d '{
range:{myfield:{gt:"start_val",lt:"end_val"}}
}
'
现在我有几个范围,需要计算每个范围。我可以用一个查询来获取它们,而不是每次都重新查询吗?
我用 search_type = count 调查了multi-search但是可能不是正确的方法...(它给了我一些聚合计数而不是分组...看起来就像我误用它一样)
编辑:我发现range facet会很惊人,但遗憾的是我的价值观既不是数字也不是日期,它们只是字符串......
EDIT2:根据接受的答案,这就是我最终的结果:
$ curl -XGET 'http://localhost:9200/myindex/mytype/_search?search_type=count' -d '{
facets : {
range1 : {
filter : {
range:{myfield:{gt:"start_val1",lt:"end_val1"}}
}
},
range2 : {
filter : {
range:{myfield:{gt:"start_val2",lt:"end_val2"}}
}
}
}
}
'