ベクタークラスターリコールは、ドキュメントが取得される前に候補クラスターを選択することで、読み取りとコンピューティングオーバーヘッドを削減し、クエリレイテンシーの制御に役立ちます。Alibaba Cloud Elasticsearch Agent Engine Edition では、ベクタークラスターリコールはオフラインクラスタリングが完了した大規模なベクターストアに適用されます。ベクタークラスターとは、類似したベクターを持つドキュメントのグループです。セントロイドベクターがそのクラスターの特徴を表します。
シナリオ
お客様はオフラインクラスタリングを実行し、ドキュメントにクラスターを割り当て、データの変更に応じてセントロイドベクターを維持します。Alibaba Cloud Elasticsearch Agent Engine Edition は、クラスタリングモデルのトレーニングを行いません。また、ドキュメントベクターに基づいて書き込み場所を決定することもありません。
ビジネス要件 | 推奨事項 |
クエリの前に、テナント、ナレッジベース、またはコードリポジトリが既知の場合 | 名前空間モードを使用して、ビジネススコープを直接指定します。 |
オフラインクラスタリングが完了しており、クエリの前にターゲットクラスターが不明で、データ量が大きい場合 | ベクタークラスターリコールを使用して、クエリベクターに基づいて候補クラスターを選択します。 |
信頼性の高いクラスターセントロイドを維持できない場合、またはデータ量が少なく、直接クエリを実行するコストが許容範囲内である場合 | 標準インデックスまたは名前空間モードを使用してください。追加のクラスター管理は不要です。 |
クエリで指定されたスコープ内のすべてのデータを網羅する必要がある場合 | 候補クラスターの選択に依存せず、そのスコープに対して名前空間モードまたは標準インデックスを使用してください。 |
制限事項
ベクタークラスターリコールには、次の制限事項が適用されます:
コレクションモード:コレクションを作成する際に、ベクタークラスターモードを指定します。既存のコレクションはモードを切り替えることはできません。
セントロイド類似度メトリック:セントロイドベクターによるクラスター選択では、常にコサイン類似度が使用されます。ドキュメントベクターには、モデルで要求される類似度メトリックを使用できます。
クエリ範囲の絞り込み方法
ベクタークラスターリコールでは、各ベクタークラスターが 1 つのスライスに対応します。お客様はスライスとそのセントロイドベクターを登録し、そのスライスにドキュメントを書き込みます。クエリ時に、システムはクエリベクターとクラスターセントロイド間のコサイン類似度に基づいて近似検索を実行し、候補スライスを選択します。その後、システムは選択されたスライス内でのみ k-NN 検索を実行します。その k-NN 検索が近似であるかどうかは、使用するクエリメソッドによって異なります。
選択されなかったクラスターは、クエリの対象になりません。候補クラスターの数が多いほど、通常は再現率が向上しますが、読み取りとコンピューティングオーバーヘッドも増加します。実際のデータで再現率、レイテンシー、リソース使用量をテストして、候補数を決定してください。
ベクタークラスターリコールと DiskBBQ
ベクタークラスターリコールと DiskBBQ は、異なるレベルで機能します。ベクタークラスターリコールはアクセスするスライスを決定し、Sliced DiskBBQ は選択されたスライス内でドキュメントベクターを取得することで、無関係なベクターによる読み取りとコンピューティングオーバーヘッドを削減します。基本的な DiskBBQ は、ベクトル取得の常駐メモリのフットプリントを削減します。2 つのレベルがどのように役割を分担しているかの詳細については、「DiskBBQ と Sliced DiskBBQ によるベクトル取得」をご参照ください。
ベクタークラスターリコールは、DiskBBQ または k-NN を使用するための前提条件ではありません。標準インデックスと名前空間モードもベクトル取得に対応しています。
次のステップ
設定、セントロイドベクターの登録、および実行例については、「ベクタークラスターリコールリファレンス」をご参照ください。