簡體   English   中英

按周期自動刪除索引日志 ElasticSearch

[英]Auto Delete index log ElasticSearch by period

我如何配置 ElasticSearch 以刪除過去 1 個月的日志,或者如果沒有 sush conf,我如何從 Java 調用 api delete 為此目的

謝謝

您是否嘗試過使用按查詢刪除 API

這篇文章還討論了如何在 10 天內這樣做。 您可以嘗試使用 30 天。

閱讀這些,你應該知道該怎么做。 我不知道確切的答案,但我希望這至少會有所幫助。

這是包含 2 個文檔的示例索引。

{
  "took" : 0,
  "timed_out" : false,
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : {
      "value" : 2,
      "relation" : "eq"
    },
    "max_score" : 1.0,
    "hits" : [
      {
        "_index" : "sample",
        "_type" : "_doc",
        "_id" : "1",
        "_score" : 1.0,
        "_source" : {
          "created" : "06/18/2021"
        }
      },
      {
        "_index" : "sample",
        "_type" : "_doc",
        "_id" : "2",
        "_score" : 1.0,
        "_source" : {
          "created" : "06/17/2021"
        }
      }
    ]
  }
}

現在您可以使用按查詢刪除

POST /sample/_delete_by_query
{
  "query": {
    "bool": {
      "must": [
        {
          "range": {
            "created": {
              "lte": "now-30d/d",
              "format": "MM/dd/yyyy"
            }
          }
        }
      ]
    }
  }
}

輸出:

{
  "took" : 8,
  "timed_out" : false,
  "total" : 2,
  "deleted" : 2,
  "batches" : 1,
  "version_conflicts" : 0,
  "noops" : 0,
  "retries" : {
    "bulk" : 0,
    "search" : 0
  },
  "throttled_millis" : 0,
  "requests_per_second" : -1.0,
  "throttled_until_millis" : 0,
  "failures" : [ ]
}

您將看到Total : 2 和Deleted : 2 希望這有助於@java_dev

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM