【问题标题】:How to update an index/indice in Elasticsearch?如何更新 Elasticsearch 中的索引/索引?
【发布时间】:2016-10-25 16:53:44
【问题描述】:

我已经使用logstash 创建了我的索引 (response_summary),它将来自 MySQL 数据库的数据放入索引中。

我关心的是,每当将一组新记录添加到数据库中时,我如何能够手动更新索引,而无需再次删除和重新创建索引。

或者有没有一种方法可以在完成数据库更改时自动完成?

任何帮助都将不胜感激。

【问题讨论】:

  • 您需要自己的方式来找出您的 sql 数据库何时更改(针对它的常规查询或类似的查询),或者当您更改数据库中的某些内容时,您在 ES 中执行相同操作。
  • @AndreiStefan 我可以通过logstash插入调度程序cron作业来做到这一点,但想知道是否有任何其他方法可以使用ES来做到这一点。谢谢
  • ES 不行。 ES 中有河流,但在 ES 2.0 中被删除。另一种方法是 Logstash JDBC 输入插件:elastic.co/guide/en/logstash/current/plugins-inputs-jdbc.html
  • 对于数据库处理这很好,如果我上传日志文件作为输入,我可以在输入中使用相同的scheduler 吗?
  • 不,您使用来自 Logstash 的文件输入,它会自动获取文件更改。

标签: elasticsearch logstash elastic-stack logstash-configuration elasticsearch-2.0


【解决方案1】:

ES 没办法。 ES 中有河流,但在 ES 2.0 中被删除。另一种选择是Logstash JDBC input plugin,它可以根据定义的时间表自动获取更改。

要对文件执行相同操作,您可以使用 LS file input plugin 跟踪文件以获取新的更改,并在 LS 重新启动时跟踪它停止的位置。

【讨论】:

  • 谢谢,准时:)
  • 我在logstash conf中尝试了jdbc schedule,但是当我用Kibana检查它时,它只需要我添加的最后一条记录,而不是全部!我添加了这样的内容:schedule => "* * * * *"
  • 并且使用的查询覆盖了所有数据?
  • 对不起@Andrei,这是我的错误。 document_id 是错误的。现在完美运行!
  • @AndreiStefan,我面临同样的问题,除了当我尝试进行更新时,索引中的任何新行都会更新,旧行更新也会添加为新行。我希望旧的索引行得到更新。我还发布了一个详细的问题here。你能帮帮我吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-11-09
  • 2017-03-11
  • 1970-01-01
  • 1970-01-01
  • 2019-01-27
  • 2021-05-11
  • 2012-04-14
相关资源
最近更新 更多