【发布时间】:2014-02-21 18:46:18
【问题描述】:
我有一个用例,Elasticsearch 索引和 MySQL 数据库应该保持同步并满足以下条件。
1) 每当我在 Elasticsearch 索引中插入/更新/删除时,它都应该与数据库(MySQL)同步。
2) 这种同步应该立即完成。
3) 对于 Elasticsearch 索引,我可以随时使用任意数量的请求进行插入/更新/删除。
如何使用 Elasticsearch 做到这一点?
谢谢!!
【问题讨论】:
-
不应该反过来吗?你把数据放到MySql中,然后索引到ES中?
-
在我的用例中,我有上述一组方法。所以其他方式是不可能的
-
很遗憾,因为 MySQL 是(几乎)ACID 而 ElasticSearch 不是。确实应该反过来。
-
你检查了吗 - github.com/elasticsearch/elasticsearch/blob/master/src/main/…,这是一个监听器,一旦索引更新就会被调用,看看你是否可以覆盖 postIndex 方法,然后同步 MySql DB
标签: java mysql elasticsearch elasticsearch-jdbc-river