Elasticsearch聚合需要很长时间

时间:2015-03-12 11:02:03

标签: php elasticsearch aggregation

我在我的数据集中运行值计数聚合和基数聚合,并使用以下查询。

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 aganist 50个值)。一次这样的迭代需要大约2.5秒来加载,我大部分时间都有近50-80次迭代。所以需要花费很多时间。无论如何都要优化它以提高性能吗?

1 个答案:

答案 0 :(得分:0)

您的查询对我来说非常激烈。我有一组类似的查询,多搜索API为我节省了几秒钟。

请参阅multi-search API