【发布时间】:2021-07-19 12:38:42
【问题描述】:
如何配置 ElasticSearch 以删除超过 1 个月的日志, 或者如果没有 sush conf,我如何从 java 调用 api delete 来实现此目的
谢谢
【问题讨论】:
标签: java elasticsearch
如何配置 ElasticSearch 以删除超过 1 个月的日志, 或者如果没有 sush conf,我如何从 java 调用 api delete 来实现此目的
谢谢
【问题讨论】:
标签: java elasticsearch
您是否尝试过使用Delete by query API?
This post 还讨论了如何在 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" : [ ]
}
您将看到 总计:2 和 已删除:2 希望这有助于@java_dev
【讨论】: