【问题标题】:Update indices in Elasticsearch on adding new documents to my database更新 Elasticsearch 中的索引以将新文档添加到我的数据库
【发布时间】:2019-06-20 15:25:34
【问题描述】:

我是弹性搜索的新手,但必须使用它。我已使用 logstash 成功设置它以将其连接到我的 oracle 数据库(一个特定的表)。现在,如果将新记录添加到我的 oracle 数据库(我在其上构建索引)中的一个表中,应该怎么做? 我想到了两种解决方案,

  1. 通过运行 logstash conf 文件重新构建索引。
  2. 在插入表时,还 POST 到弹性搜索。

第一个解决方案无法正常工作。我的意思是,如果“用户”是我用新记录更新的表,那么在弹性搜索中重建索引(对于“用户”表)时,新记录也应该反映在 logstash 获取查询中。

第一个应该对 POC 有所帮助。

所以,感谢任何帮助。

【问题讨论】:

  • @Val 感谢您指出正确的方向,但我正在寻找可行的蛮力方法。新旧记录必须反映在弹性搜索中。你能指出它失败的任何可能原因吗?
  • 您需要提供更多信息,说明为什么第二种(正确的)解决方案不起作用。也可以显示你的 Logstash 配置
  • @Val 第二个应该可以工作,但我们需要第一个作为 POC 工作。该错误表示由于超过 1 种类型映射而无法更新索引
  • 我在这里分享了我的大部分想法david.pilato.fr/blog/2015/05/09/…(以防万一)。

标签: oracle elasticsearch logstash


【解决方案1】:

感谢 Val 为我指明了正确的方向。

但是,对于第一个蛮力解决方案,它是关于更改 logstash conf 文件中的文档类型。

{"document_type":"same_type"}

这必须与前面提到的类型一致。我第一次用不同的类型运行它(Same_type)。添加新记录后,我使用了same_type。因此,弹性搜索引发了多次映射拒绝的异常。

为了进一步澄清,它查找了here

谢谢你们。

【讨论】:

    猜你喜欢
    • 2017-02-27
    • 2021-10-03
    • 2018-02-01
    • 2016-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多