首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Couchbase XDCR弹性搜索速度和删除

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

Stack Overflow用户
提问于 2013-01-31 21:00:58
回答 1查看 767关注 0票数 2

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

  1. 如果我们将其作为缓存来实现,我不希望Elasticsearch删除没有在Couchbase中的任何文档,这是否可以这样做(也许这甚至是默认行为)?
  2. 是否有可能应用某种版本控制,以便索引中的文档不会被Couchbase的旧版本所重写?
  3. 如果要向索引中添加一个新字段,则可能需要从实际文档数据源重新索引,然后重新应用Couchbase中存储的所有消息。我可能在Elasticsearch中有1亿份文档,在Couchbase中有50万份我想重新申请到Elasticsearch中?速度会是怎样的。
  4. 我能在Couchbase和Elasticsearch之间应用任何逻辑吗?

更新:

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

这个系统(如果有效的话)将消除对MQ服务器、消息侦听器的需求,并确保索引中没有缺少任何文档。

版本控制是必要的,因为我们不想将“更新”应用于索引,该索引实际上包含了一个更新的文档(不确定这种情况是否会发生,我想一想)。

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

EN

回答 1

Stack Overflow用户

发布于 2013-02-01 08:25:59

今天的Couchbase-Elasticsearch集成应该被看作是Couchbase的索引引擎。这意味着索引由Couchbase中的数据“管理/控制”。

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

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

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

  1. 当文档从Couchbase中删除时,Elasticsearch索引将被更新(条目删除)。
  2. 不一定能理解这个问题。一个“老版本”怎么可能来自Couchbase?无论如何,每次修改存储到Couchbase中的文档时,都会更新Elasticsearch中的索引。
  3. 不知道你想在哪里添加一个新字段?如果这是存储在Couchbase中的文档,那么当文档被发送到Elasticsearch时,索引将被更新。但基于我之前说过的:所有“存储”到Couchbase的文档都将出现在Elasticsearch索引中。
  4. 不是现在的插件,而是您知道它是一个开源项目,所以您可以向它添加一些逻辑,甚至可以将您的想法贡献给项目( https://github.com/couchbaselabs/elasticsearch-transport-couchbase )。

因此,让我问您更多的问题:-如何将文档插入到应用程序中?(而Couchbase在哪里?Elasticsearch?) -文档的类型是什么?-您希望缓存到Couchbase中的是什么?

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

https://stackoverflow.com/questions/14635063

复制
相关文章

相似问题

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