我每天创建索引来存储搜索历史,并且在应用程序中将这些索引用于建议,这也有助于我根据历史提出建议。
现在我只需要维持过去的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/