search - 如何定期删除 Elasticsearch 索引?

标签 search elasticsearch lucene autosuggest search-suggestion

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

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

最佳答案

我唯一能想到的就是使用数据数学:
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天的索引,请不要认为这是可行的。而且它们不是 flex 搜索中的触发器或东西。

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

关于search - 如何定期删除 Elasticsearch 索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38597842/

相关文章:

c++ - 为什么会超时?时间复杂度不是O(n ^ 2logn)吗?

javascript - Google Maps API 是否提供按名称搜索位置的方法?

elasticsearch - 将嵌套查询与过滤器组合

sql - Elasticsearch 过滤请求结果的默认文档序列是什么?

java - 我是否会通过具有相同的 @Field name 值来覆盖或添加到 Lucene 索引

php - 如何创建包含缩写的 MySQL 搜索查询

javascript - 如何在 JavaScript 中从字符串数组中搜索字符串?

elasticsearch - Elasticsearch:带有返回意外结果的术语的多面查询

elasticsearch - 获取 Elasticsearch 聚合中的桶计数

lucene - 在 Solr 中,为什么 'built' 没有被限制为 'build' 而 'building' 是?