我可以找到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"
}
}
}
提前致谢。
答案 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"
}
}
}
}