これは、couchbase をエラスティック検索プラグインと統合する際の設計上の問題です。私は以前の製品でマルチテナンシーを備えたcouchbaseを使用しており、couchbaseのブログで見つけた最初の提案に従いました。
現在、couchbase エラスティック検索プラグインを使用して、couchbase データでエラスティック検索機能を活用する方法を研究しています。couchbase bucket
カウチベースのエラスティック検索プラグインのドキュメント (インストールとセットアップ) を読んでいると、1対 1しかマッピングできないことに気付きましたelasticsearch index
。そのドキュメントは、ここElasticsearch プラグイン構成および ここクラスターへの接続 にあります。その場合、couchbase バケットと同様に、すべてのドキュメント (テナントに関係なく) が同じインデックスに存在します。
ここで私の質問です。ドキュメントがcouchbaseにどのように保存されているかに関係なく、elasticsearchにテナントごとにインデックスを付けてもらいたいです。私はまだこれら 2 つのシステム間の統合をいじるのにかなり慣れていませんが、テナントごとに個別の検索インデックス (および各テナント/インデックスが独自の多くの異なるタイプを持つ) を使用すると、最も確実に 1) テナントごとの検索パフォーマンスが向上すると想定しています。 2) 最小限のデータ セットを持つ可能性のある特定のテナントでの特定の検索クエリのパフォーマンスは、同じインデックスに他のテナントの膨大なデータ セットがあることによって影響を受けません (もっともらしいとは言えませんが、テナント間のデータ セットが50 倍の差があります)
私が疑問に思っているのは、私の懸念が有効かということです。すべてのテナントを一緒にインデックス化すると、検索クエリのパフォーマンスに影響がありますか? もしそうなら、couchbase Elastic Search plugin を使用してこれを達成する方法について誰かが解決策を持っていますか?
すべての助けと考えに感謝します!