首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何与jdbc河进行更新或同步?

如何与jdbc河进行更新或同步?
EN

Stack Overflow用户
提问于 2014-09-11 21:17:00
回答 2查看 2.1K关注 0票数 1

关于河流和数据与弹性搜索的生产数据库同步的问题:

  1. 河流最初是否只适合大容量装载数据,或者是否以某种方式监听或监视变化。
  2. 如果我有数据的夜间导入,那么删除河流和索引,重新索引并重新创建河流是否更好呢?
  3. 如果更新或更改河流,是否必须删除和重新创建索引?
  4. 我如何建立一个计划与河流,以获取新的数据定期。它是否可以存储最后的maxid,以便在sql中执行diff查询以选择进入江河?
  5. 对于如何更好地保持数据库和弹性搜索的同步有什么建议吗?不使用PUT命令调用单独的索引更新函数?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-13 16:16:34

所有的Elasticsearch河流都是不同的--有些是由Elasticsearch直接提供的,更多的是由第三方开发的:

http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-plugins.html

每个操作都不同,所以要回答你的问题,你必须选择一条特定的河流。对于您的情况,由于您希望从生产数据库中索引数据,我将假设您将使用JDBC河流:

https://github.com/jprante/elasticsearch-river-jdbc

这条河将索引来自JDBC源的数据,包括获取更改。它可以按照计划(在这个页面上有关于schedule参数的详细文档:https://github.com/jprante/elasticsearch-river-jdbc)。然而,这条河不会删除:

https://github.com/jprante/elasticsearch-river-jdbc/issues/213

您可能会发现这个讨论很有用,您可以通过每天构建一个新的江河/索引并使用索引别名:ElasticSearch river JDBC MySQL not deleting records来解决缺乏删除支持的问题。

票数 2
EN

Stack Overflow用户

发布于 2016-07-21 10:47:14

您只需将数据库中的id映射为带有别名的_id,这样弹性就可以识别文档何时更改或未更改。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25797087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档