我正在数据集中运行值计数聚合和基数聚合,并使用以下查询。
GET my_index/my_type/_search
{
"query": {
"filtered": {
"filter": {
"bool": {
"must": [{
"range": {
"time": {
"gt": "2015-03-04 00:00:00",
"lt": "2015-03-04 23:59:59"
}
}
}
],
"should": [
{
"term": {
"andi.raw": "1d3d7bac8ce4c620"
}
}
]
}
}
}
},
"aggs": {
"user_count": {
"cardinality": {
"field": "andi.raw"
}
}
}
}
我正在不同日期的循环中运行它,并且时间范围将是一天,术语过滤器有 50 个术语 (andi.raw 而不是 50 个值)。一个这样的迭代需要大约 2.5 秒来加载,而我大部分时间都有近 50-80 次迭代。所以这需要很多时间。有没有优化它以提高性能?
你的询问对我来说看起来很激烈。我有一组类似的查询,多搜索 API 为我节省了几秒钟。
查看多搜索 API