Zilliz Cloud はベクトルベースの類似検索を実装しており、検索効率とパフォーマンスを向上させるための複数の最適化機能を提供しています。この章では、Zilliz Cloud で利用可能なさまざまなベクトル検索方法の原理とチュートリアルについて学びます。
基本ベクトル検索 [READ MORE]
近似最近傍(ANN)検索は、ベクトル埋め込みのソート順を記録したインデックスファイルに基づき、受信した検索リクエストに含まれるクエリベクトルに基づいてベクトル埋め込みの部分集合を特定し、そのサブグループ内のベクトルとクエリベクトルを比較して、最も類似した結果を返します。ANN 検索により、Zilliz Cloud は効率的な検索体験を提供します。このページでは、基本的な ANN 検索の実行方法について説明します。
再現率の調整 [READ MORE]
Zilliz Cloud では、検索の再現率とパフォーマンスのバランスを取るための検索パラメータ `level` を導入しています。また、現在の検索における推定再現率を取得できる別の検索パラメータ `enablerecallcalculation` も提供しています。これら 2 つのパラメータを組み合わせることで、ベクトル検索の再現率を調整できます。
フィルタリング検索 [READ MORE]
ANN 検索は、指定されたベクトル埋め込みに最も類似したベクトル埋め込みを見つけます。ただし、検索結果が常に正しいとは限りません。検索リクエストにフィルタリング条件を含めることで、Zilliz Cloud は ANN 検索を実行する前にメタデータのフィルタリングを行い、検索範囲をコレクション全体から指定されたフィルタリング条件に一致するエンティティのみに絞り込むことができます。
範囲検索 [READ MORE]
範囲検索は、返されるエンティティの距離またはスコアを特定の範囲に制限することで、検索結果の関連性を向上させます。このページでは、範囲検索の概要とその実行手順について説明します。
グループ化検索 [READ MORE]
グループ化検索を使用すると、Zilliz Cloud は指定されたフィールドの値に基づいて検索結果をグループ化し、より高レベルでデータを集約できます。たとえば、基本的な ANN 検索を使用して手元の本に類似した本を見つけることができますが、グループ化検索を使用すれば、その本で議論されているトピックに関連する書籍のカテゴリを見つけることができます。このトピックでは、グループ化検索の使用方法と重要な考慮事項について説明します。
主キー検索 [READ MORE]
類似検索を実行する際、クエリベクトルが対象コレクションに既に存在している場合でも、1 つ以上のクエリベクトルの提供が常に求められます。検索前にベクトルを取得するのを避けるために、代わりに主キーを使用できます。
ハイブリッド検索 [READ MORE]
多くのアプリケーションでは、タイトルや説明など豊富な情報、あるいはテキスト、画像、音声などの複数のモダリティを用いてオブジェクトを検索できます。例えば、テキストと画像を含むツイートは、テキストまたは画像のいずれかが検索クエリの意味と一致する場合に検索対象となります。ハイブリッド検索は、これらの多様なフィールドにわたる検索を組み合わせることで、検索体験を向上させます。Zilliz Cloud は、複数のベクトルフィールドでの検索を可能にし、複数の近似最近傍(ANN)検索を同時に実行することでこれをサポートしています。マルチベクトルハイブリッド検索は、テキストと画像の両方を検索したい場合、同じオブジェクトを記述する複数のテキストフィールドを検索したい場合、または検索品質を向上させるために疎ベクトルと密ベクトルを組み合わせて使用したい場合に特に有用です。
クエリ [READ MORE]
ANN 検索に加えて、Zilliz Cloud はクエリを通じたメタデータフィルタリングもサポートしています。このページでは、Query、Get、および QueryIterators を使用してメタデータフィルタリングを実行する方法について説明します。
フィルタリング [READ MORE]
この章では、スカラーフィールドに対するフィルタリングの実行方法、適用可能なフィルタリング演算子、およびテンプレートについて説明します。
全文検索 [READ MORE]
全文検索は、テキストデータセットから特定の用語やフレーズを含むドキュメントを取得し、関連性に基づいて結果をランク付けする機能です。この機能は、正確な用語を見落とす可能性があるセマンティック検索の限界を克服し、最も正確で文脈に適した結果を提供します。さらに、生のテキスト入力を受け付けて自動的にスパース埋め込みへ変換するため、ベクトル埋め込みを手動で生成する必要がなく、ベクトル検索を簡素化します。
テキストマッチ [READ MORE]
Zilliz Cloud のテキストマッチ機能により、特定の用語に基づいてドキュメントを正確に検索できます。この機能は主に、特定の条件を満たすフィルタリング検索に使用され、スカラーフィルタリングを組み合わせてクエリ結果を絞り込むことで、スカラー基準を満たすベクトル内での類似度検索を実現します。
Lexical Highlighter [READ MORE]
Zilliz Cloud のハイライターは、テキストフィールド内の一致した用語をカスタマイズ可能なタグで囲むことで注釈を付けます。ハイライト機能により、ドキュメントがなぜ一致したのかを説明しやすくなり、結果の可読性が向上するとともに、検索や RAG アプリケーションにおけるリッチなレンダリングをサポートします。
フレーズマッチ [READ MORE]
フレーズマッチを使用すると、クエリ用語が正確なフレーズとして含まれるドキュメントを検索できます。デフォルトでは、単語は同じ順序で互いに直接隣接して出現する必要があります。例えば、「robotics machine learning」というクエリは、「…typical robotics machine learning models…」のようなテキストにマッチします。これは、「robotics」、「machine」、「learning」という単語が間に他の単語を挟まずに連続して現れている場合です。
埋め込みリスト [READ MORE]
このページでは、Zilliz Cloud の構造体配列を使用して ColBERT テキスト検索システムと ColPali テキスト検索システムを設定する方法について説明します。これにより、ドキュメントとそのベクトル化されたチャンクを埋め込みリストに格納できます。
Elasticsearch クエリから Milvus へ [READ MORE]
Apache Lucene を基盤とする Elasticsearch は、主要なオープンソース検索エンジンです。しかし、更新コストの高さ、リアルタイム性能の低さ、シャード管理の非効率性、クラウドネイティブではない設計、そして過剰なリソース要件など、現代の AI アプリケーションにおいて課題に直面しています。クラウドネイティブなベクトルデータベースである Milvus は、ストレージとコンピューティングの分離、高次元データ向けの効率的なインデックス作成、および現代のインフラストラクチャとのシームレスな統合により、これらの課題を克服します。AI ワークロードに対して卓越したパフォーマンスとスケーラビリティを提供します。
Search Iterator [READ MORE]
ANN Search には、1 つのクエリで取得できるエンティティ数の上限があり、基本的な ANN Search だけでは大規模な検索の要件を満たせない場合があります。topK が 16,384 を超える ANN Search リクエストでは、SearchIterator の使用を検討することをお勧めします。このセクションでは、SearchIterator の使用方法と関連する考慮事項について説明します。
パーティションキー [READ MORE]
パーティションキーは、パーティションに基づく検索最適化ソリューションです。特定のスカラフィールドをパーティションキーとして指定し、検索時にパーティションキーに基づいてフィルタリング条件を設定することで、検索範囲をいくつかのパーティションに絞り込み、検索効率を向上させることができます。この記事では、パーティションキーの使用方法と関連する考慮事項について紹介します。
mmap の使用 [READ MORE]
メモリマップ(Mmap)により、ディスク上の大容量ファイルへの直接メモリアクセスが可能になり、Zilliz Cloud はインデックスとデータをメモリとハードドライブの両方に保存できます。このアプローチは、アクセス頻度に基づいてデータ配置ポリシーを最適化し、検索パフォーマンスに影響を与えることなくコレクションのストレージ容量を拡張するのに役立ちます。このページでは、Zilliz Cloud が mmap を使用して高速かつ効率的なデータの保存と取得をどのように実現しているかについて説明します。
一貫性レベル [READ MORE]
分散型ベクトルデータベースである Zilliz Cloud は、読み取りおよび書き込み操作中に各ノードまたはレプリカが同じデータにアクセスできるように、複数の一貫性レベルを提供します。現在サポートされている一貫性レベルには、Strong、Bounded、Eventually、Session があり、デフォルトの一貫性レベルは Bounded です。
メトリックタイプ [READ MORE]
類似度メトリクスは、ベクトル間の類似性を測定するために使用されます。適切な距離メトリックを選択することで、分類やクラスタリングのパフォーマンスを大幅に向上させることができます。