当前位置: 首页 > 面试题库 >

如何定期删除elasticsearch索引?

楚流觞
2023-03-14
问题内容

我每天创建索引来存储搜索历史,并且我将这些索引用于应用程序中的建议,这也有助于我根据历史建议。

现在我只需要维持过去的10天历史。那么elasticsearch中是否有任何功能可以让我定期创建和删除索引?


问题答案:

我唯一能想到的就是使用数据数学:https :
//www.elastic.co/guide/en/elasticsearch/reference/current/date-math-index-
names.html

从某种意义上讲,您可以这样做:

DELETE <logs-{now%2Fd-10d}>

尽管由于url编码,但这在curl中效果不佳。您可以在curl中执行以下操作:

curl -XDELETE 'localhost:9200/<logs-%7Bnow%2Fd-10d%7D>'

这两个示例都删除了10天的索引。它不能帮助您删除超过10天的索引,请不要认为这是可行的。而且它们不是elasticsearch中的触发器或东西。

因此,我会与策展人一道坚持从事cron工作,但您也确实可以选择该选项。



 类似资料:
  • 它在错误下面抛出: 提示我,如何删除ElasticSearch中特定类型索引中的多个或所有文档。

  • 问题内容: 我的 单元/集成测试 包括搜索功能的测试。 我的想法是在每次测试之前有一个空的搜索索引。因此,我正在尝试删除方法(它是Groovy代码)的索引中的所有元素: 似乎它正在异步处理所有删除操作,因此在它之后添加了它。如您所见,我尝试几次打开/关闭连接-在那里没有帮助。 这个问题有时需要更多时间,有时需要5秒钟以上才能删除,有时无法找到刚刚添加的数据(来自先前的测试),等等。而最令人烦恼的是

  • 如何在不删除索引映射的情况下从elasticsearch数据库中删除数据? 我是Tire gem,使用删除命令删除我所有的映射并再次运行创建命令。我想避免创建命令一次又一次地运行。 请帮我解决这个问题。

  • 我想从elasticsearch索引中删除一些数据,而不是完整的索引,我的问题是如何找到所有可用碎片的文档id。对此的查询是什么?? 我使用了以下查询来删除特定文档,但它抛出错误,所以我认为我的文档ID是错误的。请让我知道如何获取可用分片的正确文档ID。 我的数据流是postgresql到logstash到elasticsearch到kibana。但问题是索引大小正在增加很多,它进入GB的内存,而

  • 问题内容: 我的许多日志都以logstash-Year- Week格式编制索引。那就是如果我想删除超过几周的索引,如何在elasticsearch中实现。有没有简单,无缝的方法可以做到这一点? 问题答案: 策展人将是这里的理想之选。您可以在这里找到链接-https: //github.com/elastic/curator 如下所示的命令应该可以正常工作- 您可以将其保留在CRON中,以偶尔删除索

  • 问题内容: 我正在使用带有NEST的C#.NET应用程序来创建索引。 我创建了一个Elasticsearch索引,客户可以查询该索引,称为index_1。然后,我使用应用程序的不同实例构建索引的另一个版本,并将其称为index_1_temp。 我将index_1_temp重命名为index_1然后删除原始index_1的最安全方法是什么? 我知道ES具有别名,但是我不确定如何将其用于此任务 编辑: