如何配置elasticsearch以保留文档长达30天?

liwlm1x9  于 10个月前  发布在  ElasticSearch
关注(0)|答案(5)|浏览(150)

在elasticsearch中是否有默认的数据保留期?如果有,你能帮我找到配置吗?

5n0oy7gb

5n0oy7gb1#

Elasticsearch 5.0.0或更高版本不再支持此操作。最佳实践是定期创建索引(最常见的是每天),然后在数据足够旧时删除索引。
这里有一个关于如何删除索引的参考(https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-delete-index.html
这篇文章(虽然它已经足够老了,可以参考_ttl)也提供了一些见解:https://www.elastic.co/blog/using-elasticsearch-and-logstash-to-serve-billions-of-searchable-events-for-customers
提醒一下,最好通过代理保护Elasticsearch集群不受外部世界的影响,并限制可以发送到集群的方法。这样可以防止集群被勒索。

ejk8hzay

ejk8hzay2#

是的,你可以在数据上设置TTL。看看这里的配置选项。
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-ttl-field.html
https://www.elastic.co/guide/en/elasticsearch/reference/2.0/mapping-ttl-field.html
注意:这是旧的功能,从ES版本2.0.0-beta2开始被索引生命周期管理(ILM)取代,请参阅https://www.elastic.co/guide/en/elasticsearch/reference/current/index-lifecycle-management.html

6l7fqoea

6l7fqoea3#

Elasticsearch管理器是管理索引的工具:https://www.elastic.co/guide/en/elasticsearch/client/curator/current/index.html
下面是如何根据年龄删除索引的示例:https://www.elastic.co/guide/en/elasticsearch/client/curator/current/ex_delete_indices.html
合并与cron有这样做定期。

uqzxnwby

uqzxnwby4#

没有默认的保留期,但新版本的Elasticsearch具有index lifecycle management (ILM)。它允许:
删除过时索引以强制执行数据保留标准
Documentation的一个。
简单的策略示例:

PUT _ilm/policy/my_policy
{
    "policy": {
        "phases": {
            "delete": {
                "min_age": "30d",
                "actions": {
                    "delete": {}
                }
            }
        }
    }
}

字符串
如果您在AWS中使用OpenSearch,那么请查看this documentation以了解相同的内容。
很老的问题了,但我刚才也有同样的问题。也许对别人有帮助。

9udxz4iz

9udxz4iz5#

仅供参考,如果您正在使用AWS的Elasticsearch服务,他们有一个关于Using Curator to Rotate Data的很棒的文档,其中包括一些可以在Lambda函数中使用的示例Python代码。

相关问题