首页 文章

将聚合结果插入索引

提问于
浏览
8

目标是 build an Elasticsearch index with only the most recent documents in groups of related documents 跟踪一些监控计数器和状态的当前状态 .

我制作了一个简单的 Elasticsearch aggregation query

{
  "size": 0,
  "aggs": {
    "group_by_monitor": {
      "terms": {
        "field": "monitor_name"
      },
      "aggs": {
        "get_latest": {
          "top_hits": {
            "size": 1,
            "sort": [
              {
                "timestamp": {
                  "order": "desc"
                }
              }
            ]
          }
        }
      }
    }
  }
}

它将相关文档分组到存储桶中,并为每个存储桶选择最新文档 .

以下是我完成工作所需的不同想法:

是否有一种相当复杂的方法来实现这一目标?

1 回答

  • 3

    编辑 logstash.conf 文件如下

    input {
      elasticsearch {
        hosts => "localhost" 
        index => "source_index_name" 
        type =>"index_type" 
        query => '{Query}' 
        size => 500 
        scroll => "5m" 
        docinfo => true
      }
    }
    
    output { 
      elasticsearch { 
        index => "target_index_name" 
        document_id => "%{[@metadata][_id]}"
      }
    }
    

相关问题