有没有办法在Elasticsearch中使用不包含查询结果的索引作为统计比较背景?

时间:2015-01-13 04:09:52

标签: elasticsearch aggregation logstash

我可以找到Elasticsearch的 significant_terms 聚合使用的条件。 我的意思是,用于统计比较的背景集是从中收集结果的索引。

但是,我想使用每日创建的Logstash索引进行重要的术语聚合。

这是我遇到的问题。

如果我使用包含如下过滤器的过滤查询,则会忽略除“logstash-2014.12.10”之外的所有logstash索引。

{
    "range":{
        "@timestamp":{
            "from":"2014-12-10T15:00:00.000+00:00",
            "to":"2014-12-10T18:00:00.000+00:00"
        }
    }
} 

有没有办法使用Logstash每天创建的所有索引作为 significant_terms聚合的背景文档,如下所示?

"aggregations": {
    "agg_by_remote_ip": {
        "significant_terms": {
            "field": "remote_ip"
        }
    }
}

提前致谢。

1 个答案:

答案 0 :(得分:1)

首先尝试在多个索引上运行查询(请注意GET请求的logstash-*部分):

GET /logstash-*/_search
{
  "query": {
    "range": {
      "@timestamp": {
        "from": "2014-12-10T15:00:00.000+00:00",
        "to": "2014-12-10T18:00:00.000+00:00"
      }
    }
  },
  "aggregations": {
    "agg_by_remote_ip": {
      "significant_terms": {
        "field": "remote_ip"
      }
    }
  }
}