0

これは、couchbase をエラスティック検索プラグインと統合する際の設計上の問題です。私は以前の製品でマルチテナンシーを備えたcouchbaseを使用しており、couchbaseのブログで見つけた最初の提案に従いまし

現在、couchbase エラスティック検索プラグインを使用して、couchbase データでエラスティック検索機能を活用する方法を研究しています。couchbase bucketカウチベースのエラスティック検索プラグインのドキュメント (インストールとセットアップ) を読んでいると、1対 1しかマッピングできないことに気付きましたelasticsearch index。そのドキュメントは、ここElasticsearch プラグイン構成および ここクラスターへの接続 にあります。その場合、couchbase バケットと同様に、すべてのドキュメント (テナントに関係なく) が同じインデックスに存在します。

ここで私の質問です。ドキュメントがcouchbaseにどのように保存されているかに関係なく、elasticsearchにテナントごとにインデックスを付けてもらいたいです。私はまだこれら 2 つのシステム間の統合をいじるのにかなり慣れていませんが、テナントごとに個別の検索インデックス (および各テナント/インデックスが独自の多くの異なるタイプを持つ) を使用すると、最も確実に 1) テナントごとの検索パフォーマンスが向上すると想定しています。 2) 最小限のデータ セットを持つ可能性のある特定のテナントでの特定の検索クエリのパフォーマンスは、同じインデックスに他のテナントの膨大なデータ セットがあることによって影響を受けません (もっともらしいとは言えませんが、テナント間のデータ セットが50 倍の差があります)

私が疑問に思っているのは、私の懸念が有効かということです。すべてのテナントを一緒にインデックス化すると、検索クエリのパフォーマンスに影響がありますか? もしそうなら、couchbase Elastic Search plugin を使用してこれを達成する方法について誰かが解決策を持っていますか?

すべての助けと考えに感謝します!

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 に答える