c# - 如何为 ElasticSearch 中的索引设置 TTL
问题描述
我想知道如何设置 TTL,以便 ES 集群自动删除每个超过 30 天的文档。
我知道以前的版本使用 TTL 字段来管理这个,但现在它似乎被删除了。
我正在使用 NEST.NET 6.4.0
解决方案
TTL 在 5.0 中被移除
您可以使用 curator ,将其作为 cronjob 或 jenkins job ,并一起删除旧索引。
curator_cli --host localhost --port 9200 --http_auth "$USER":"$PASS" \
delete_indices --ignore_empty_list --filter_list '[{"filtertype":"age","source":"creation_date","direction":"older","unit":"days","unit_count":30}, \
{"filtertype":"pattern","kind":"prefix","value":"livelogs"}]'
也可以看看:
推荐阅读
- amazon-web-services - 如何使用旧 pem 文件重新生成新 pem 文件
- spring-boot - 无法启动 ServletWebServerApplicationContext
- c# - SmartScreen 确实忽略了 EV 代码签名证书
- php - php替换特殊字符html
- c++ - 使用 C++ 脚本自动化 CMake 构建
- dafny - Dafny中的奇怪索引超出范围
- regex - haskell PCRE 中的表达式开始
- php - 转换日期时我在这里可能做错了什么?
- reactjs - 开玩笑:“容器不存在”
- google-bigquery - BigQuery 查询仅附加具有 Facebook 广告洞察的表返回 ARRAY 类型的列 website_ctr 不能在 SELECT DISTINCT 中使用