elasticsearch 使用带有jdbc的logstash在elsatic搜索中触发完全导入,elasticsearch,jdbc,import,logstash,elasticsearch,Jdbc,Import,Logstash" /> elasticsearch 使用带有jdbc的logstash在elsatic搜索中触发完全导入,elasticsearch,jdbc,import,logstash,elasticsearch,Jdbc,Import,Logstash" />

elasticsearch 使用带有jdbc的logstash在elsatic搜索中触发完全导入

elasticsearch 使用带有jdbc的logstash在elsatic搜索中触发完全导入,elasticsearch,jdbc,import,logstash,elasticsearch,Jdbc,Import,Logstash,我使用logstash和jdbc插件将数据插入弹性搜索。jdbc插件定期读取上次修改的列,并插入比上次运行时更新的所有数据。 (典型的jdbc logstasah处理) 但有时我需要从头开始运行完整的索引 如何触发完全导入(数据库->弹性) 我当前的方法是关闭logstash,重置.logstash\u jdbc\u last\u run-计数器,然后再次启动logstash。我觉得那不太优雅 是否有其他方法触发完全导入?您只需将添加到jdbc输入配置: input { jdbc {

我使用logstash和jdbc插件将数据插入弹性搜索。jdbc插件定期读取上次修改的列,并插入比上次运行时更新的所有数据。 (典型的jdbc logstasah处理)

但有时我需要从头开始运行完整的索引

如何触发完全导入(数据库->弹性)

我当前的方法是关闭logstash,重置
.logstash\u jdbc\u last\u run
-计数器,然后再次启动logstash。我觉得那不太优雅


是否有其他方法触发完全导入?

您只需将添加到
jdbc
输入配置:

input {
  jdbc {
    ...
    clean_run => true
    ...
  }
}

添加存储在
.logstash\u jdbc\u last\u run
文件中的内容。

但我必须重新启动logstash或重新加载管道配置,对吗?是的,您需要重新启动logstash以考虑配置更改。或者,您可以在
logstash.yml
配置文件中设置
config.reload.automatic:true
,它将每隔3秒自动重新加载配置(默认情况下)。好的,重新启动不是一个优雅的解决方案(它可能会影响其他正在运行的作业)。每隔3秒重新加载配置看起来也不理想。这一点适用于solr.:-/我想你误解了自动重新加载的工作原理。配置不是每3秒重新加载一次,而是每3秒钟进行一次检查(这也可以通过
config.reload.interval
进行配置),以查看配置是否已更改,在这种情况下,它将重新加载。啊,好的。重要提示。非常感谢。但还是索尔的观点!;-)