0

在将 couchbase 与弹性搜索插件集成时,这更像是一个设计问题。我在之前的产品中使用了多租户的 couchbase,我们遵循了我们在 couchbase 博客上找到的第一个建议,即Single Couchbase Bucket for All Tenants

现在我们正在研究使用 couchbase 弹性搜索插件在 couchbase 数据上利用弹性搜索功能。通过 couchbase 弹性搜索插件文档(安装和设置),我意识到您只能一对一couchbase bucket映射elasticsearch index。该文档可在此处找到Elasticsearch 插件配置和此处连接到集群。现在在这种情况下,就像 couchbase 存储桶一样,所有文档(无论租户如何)都将驻留在同一个索引中。

现在这是我的问题。无论文档如何存储在沙发库中,我都希望弹性搜索索引每个租户。我对这两个系统之间的集成仍然很陌生,但我假设每个租户拥有单独的搜索索引(并且每个租户/索引都有许多不同的类型)绝对可以 1)提高每个租户的搜索性能2) 对可能具有最少数据集的特定租户的特定搜索查询的性能不会受到同一索引上某些其他租户的大量数据集的影响(尽管不合理,假设租户之间的数据集相差 50 倍)

我想知道的是,我的担忧是否有效。将所有租户编入索引是否会影响搜索查询的性能?如果是这样,任何人都有关于如何使用 couchbase 弹性搜索插件来实现这一点的任何解决方案?

感谢所有帮助和想法!

4

1 回答 1

1

使用插件时,没有简单的方法可以将来自单个 Couchbase 存储桶的数据分离到不同的 ElasticSearch 索引。您可以做的是在 ElasticSearch 中为不同的租户提供不同的类型,同时仍将它们保持在同一个索引中。这既可以提高搜索性能,又可以使 CB 和 ES 之间的租户管理保持一致。

要将不同的文档从 CB 映射到不同的 ES 类型,请使用传输插件的类型选择器功能,如下所述:http: //docs.couchbase.com/admin/elastic/adv-usage.html (向下滚动到该部分命名为“设置文档类型”)

于 2015-02-04T13:35:00.213 回答