elasticsearch Couchbase XDCR弹性搜索速度和删除,elasticsearch,couchbase,elasticsearch,Couchbase" /> elasticsearch Couchbase XDCR弹性搜索速度和删除,elasticsearch,couchbase,elasticsearch,Couchbase" />

elasticsearch Couchbase XDCR弹性搜索速度和删除

elasticsearch Couchbase XDCR弹性搜索速度和删除,elasticsearch,couchbase,elasticsearch,Couchbase,我们正在考虑实现某种类型的消息缓存,它将保留发送到搜索索引的消息,以便在索引关闭一段较长时间(例如完全重新索引)时保持,然后“重新应用”消息。这些消息是我们索引的文档的创建或更新。如果空间足够便宜,有了Couchbase这样可伸缩的东西,我们甚至可以保存所有消息,但我还没有对消息的大小和数量做过任何估计。无论如何,我建议Couchbase+XDCR+Elasticsearch完成此任务,因为大部分工作将自动完成,但我还有4个问题: 如果我们将其实现为缓存,我不希望Elasticsearch删除任

我们正在考虑实现某种类型的消息缓存,它将保留发送到搜索索引的消息,以便在索引关闭一段较长时间(例如完全重新索引)时保持,然后“重新应用”消息。这些消息是我们索引的文档的创建或更新。如果空间足够便宜,有了Couchbase这样可伸缩的东西,我们甚至可以保存所有消息,但我还没有对消息的大小和数量做过任何估计。无论如何,我建议Couchbase+XDCR+Elasticsearch完成此任务,因为大部分工作将自动完成,但我还有4个问题:

  • 如果我们将其实现为缓存,我不希望Elasticsearch删除任何不在Couchbase中的文档,这是否可行(甚至可能是默认行为)

  • 是否可以应用某种版本控制,以便索引中的文档不会被来自Couchbase的较旧版本重写

  • 如果要向索引添加新字段,可能需要从实际文档数据源重新编制索引,然后重新应用Couchbase中存储的所有消息。我可能在Elasticsearch中有1亿个文档,比如说在Couchbase中有500000个文档,我想重新申请Elasticsearch?速度会是什么样子

  • 我能在Couchbase和Elasticsearch之间应用任何逻辑吗

  • 更新:

    因此,我们将文档存储在RDBMS中,因为我们需要即时访问插入的文档以及其他内容。我们通过消息向搜索引擎发送文档的有限版本。如果我们想在索引中添加一个字段,我们需要以某种方式从RDBMS中重新索引系统。如果我们有这个Couchbase消息缓存,我们可以首先将该字段添加到消息中,然后关闭旧消息的索引,并从RDBMS重新索引。然后,我们可以重新打开消息的索引,整个消息“队列”将被索引,而不会丢失任何内容

    该系统(如果可以工作的话)将不再需要MQ服务器、消息侦听器,并确保索引中没有缺少文档

    版本控制是必要的,因为我们不想对实际包含较新文档的索引应用“更新”(我想现在不确定是否会发生这种情况)


    我很感激通过更改Elasticsearch插件代码来实现第1点和第4点可能不是一件很好的工作,但我想首先确认这个想法是合理的

    如今的Couchbase Elasticsearch集成应该被视为Couchbase的索引引擎。这意味着索引由Couchbase中的数据“管理/控制”

    XDCR用于向Elasticsearch发送“所有事件”。这意味着每次创建、修改或删除文档(存储在Couchbase中)时都会更新/删除索引

    因此,存储在Couchbase存储桶中的“所有文档”都被索引到Elasticsearch中

    根据Couchbase Elasticsearch的当前实现,让我们逐一回答您的问题

  • 从Couchbase中删除文档时,Elasticsearch索引将更新(条目已删除)

  • 我不太明白这个问题。如何从Couchbase获得“旧”版本?无论如何,每次修改存储在Couchbase中的文档时,Elasticsearch中的索引都会更新

  • 不确定要在何处添加新字段?如果这是存储在Couchbase中的文档,当文档发送到Elasticsearch时,索引将更新。但根据我之前说过的:所有“存储”到Couchbase中的文档都将出现在Elasticsearch索引中

  • 不是像现在这样使用插件,而是您知道它是一个开源项目,因此您可以为它添加一些逻辑,甚至可以为项目贡献您的想法()

  • 让我问你更多的问题: -如何将文档插入到应用程序中?(Couchbase在哪里?Elasticsearch?) -文件的类型是什么?
    -您想在Couchbase中缓存什么?

    我的问题中添加了一个更新,希望能填补一些空白。非常感谢您的帮助:)