【发布时间】:2018-06-10 23:55:05
【问题描述】:
目前我们正在使用 Couchbase 和 ElasticSearch(2.x) 并使用 elasticsearch-transport-couchbase 插件成功地将数据从 CB 复制到 ES。
升级到 ES 5.6.4 时出现问题。到目前为止,我们在 ES 中使用单个索引,并且由于 ElasticSearch doesn't recommend this approach anymore 我们现在尝试在 ES 中创建多个索引(每种类型的索引) 这意味着我们需要一种将数据从 CB(单个存储桶)复制到 ES(多个索引)的方法。
解决此问题的最佳方法是什么? 可能的解决方案:
- 继续使用 elasticsearch-transport-couchbase 插件,但随后我们将不得不创建大量 (~150) XDCR 复制,每种类型 1 个复制。我怀疑这会扩展..
- 使用 Spark 或 Kafka 编写我们自己的解决方案(它们都不在技术堆栈上,因此实施可能需要时间,所以这不是最有利的解决方案)
任何帮助将不胜感激。
【问题讨论】:
-
你将如何决定哪些数据进入哪个索引。
-
我们在CB中文档的key是type::uuid,我们可以通过'::'分隔符轻松查看。
-
您可以提供的任何示例数据。如果您有索引过程中的错误日志..
-
它可以是一个简单的 JSON 文档,键为“user::123”,其中 user 是实体类型(以及该文档应该被索引到的索引),123 是键。没有错误可以发布,因为我还没有解决方案。目前正在尝试继续使用 elasticsearch-transport-plugin 并通过 ES Ingestion API 将文档重定向到正确的索引。如果有效会更新。
标签: java elasticsearch couchbase elasticsearch-plugin xdcr