elasticsearch:我如何 运行 每小时 cron 作业调用 _reindex api?
elasticsearch : how can i run hourly cron job to call _reindex api?
我想知道如何创建 & 运行 cron 作业以每小时调用 _reindex api?
我尝试了以下方法:
POST _reindex?wait_for_completion=false
{
"trigger": {
"schedule": {
"interval": "1h"
}
},
"source": {
"index": "index_src"
},
"dest": {
"index": "index_dest"
}
}
但我得到了以下信息:
"reason" : "[2:5] [reindex] unknown field [trigger]"
非常感谢任何帮助!
仅使用 Elasticsearch API 无法做到这一点。对重新索引 API 的请求将导致时间点操作;它不会创建重复任务。
如错误消息所述,没有选项可以在重建索引请求中设置计划。(有关所有可用设置,请参阅 https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-reindex.html)。
您需要编写一个脚本(例如,如果您在 linux 主机上,则在 bash 中)定期调用重建索引 API。另一种选择是编写一个简单的应用程序,该应用程序结合使用 Elasticsearch DSL 和调度 tool/framework,例如 Spring Boot 的 @Scheduled-annotation。
希望能帮到你
我想知道如何创建 & 运行 cron 作业以每小时调用 _reindex api?
我尝试了以下方法:
POST _reindex?wait_for_completion=false
{
"trigger": {
"schedule": {
"interval": "1h"
}
},
"source": {
"index": "index_src"
},
"dest": {
"index": "index_dest"
}
}
但我得到了以下信息:
"reason" : "[2:5] [reindex] unknown field [trigger]"
非常感谢任何帮助!
仅使用 Elasticsearch API 无法做到这一点。对重新索引 API 的请求将导致时间点操作;它不会创建重复任务。 如错误消息所述,没有选项可以在重建索引请求中设置计划。(有关所有可用设置,请参阅 https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-reindex.html)。
您需要编写一个脚本(例如,如果您在 linux 主机上,则在 bash 中)定期调用重建索引 API。另一种选择是编写一个简单的应用程序,该应用程序结合使用 Elasticsearch DSL 和调度 tool/framework,例如 Spring Boot 的 @Scheduled-annotation。
希望能帮到你