gpt4 book ai didi

elasticsearch - 在 Elastic Search 上索引 Couchbase 数据的最佳方式是什么

转载 作者:行者123 更新时间:2023-11-29 02:54:28 24 4
gpt4 key购买 nike

我使用 Couchbase DB,我想在 Elastic Search (ES) 上索引其部分数据。来自 Couchbase 的数据应该同步,即如果 CB 上的文档发生变化,它应该更改 ES 上的文档。关于最好的方法是什么,我有几个问题:

  • 同步数据的最佳方式是什么?我看到有一个用于 ES 的 CB 插件 ( http://www.couchbase.com/couchbase-server/connectors/elasticsearch ),但它是推荐的方式吗?
  • 我不想将所有 CB 文档存储在 ES 上,而只是其中的一部分,例如有些字段我想存储,有些不想存储 - 我该怎么做?
  • 我的文档可能有不同的属性,而且差异可能很大(例如 50 个不同的属性/字段)。假设我想将所有这些属性索引到 ES,它会影响性能吗,因为我索引了很多字段?

10 倍,

最佳答案

根据文档链接,我假设您使用的是 Couchbase 而不是 CouchDB。

  1. 您正在访问将 Elastic Search 与 Couchbase 结合使用的正确链接。根据文档,配置 Couchbase 的跨数据中心复制 (XDCR) 功能,以便在发生突变时自动将数据推送到 ES。

  2. 如果没有定义映射文件,ES 将创建一个默认映射。您可以提供自己的映射文件(或更改它生成的映射文件)来控制对哪些字段进行索引。请参阅 ES 文档中的 enabled 属性,网址为 http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-object-type.html .

  3. 是的,索引所有字段会影响性能。您可以在 http://docs.couchbase.com/couchbase-elastic-search/#managing-performance 找到 Couchbase 集成的一些性能管理技巧。 .首选的集成方法是在 ES 中执行搜索,并且只取回匹配文档的键。然后,您对 Couchbase 集群进行 multiget 调用以自行检索文档详细信息。因此,虽然 ES 会索引许多字段,但您不会将所有字段存储在那里,也不会从 ES 中检索它们的值。针对 Couchbase 的内存中 multiget 是使用 ES 中的 ID 检索匹配文档的最快方法。

关于elasticsearch - 在 Elastic Search 上索引 Couchbase 数据的最佳方式是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22466260/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com