検索
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 ハイライター [READ MORE]
Zilliz Cloud のハイライターは、テキストフィールド内の一致した用語をカスタマイズ可能なタグで囲むことで注釈を付けます。ハイライト機能は、ドキュメントが一致した理由を説明し、結果の可読性を向上させ、検索および RAG アプリケーションでのリッチなレンダリングをサポートします。
セマンティックハイライター [READ MORE]
セマンティックハイライターは、検索結果の中で最も意味的に関連性の高い部分を文レベルで特定し、ハイライト表示します。これにより、取得した上位K件のドキュメントから、必要な情報のみを効率的に抽出できます。
フレーズ一致 [READ MORE]
フレーズ一致を使用すると、クエリ用語を完全一致フレーズとして含むドキュメントを検索できます。デフォルトでは、単語は同じ順序で、互いに直接隣接して出現する必要があります。たとえば、「robotics machine learning」のクエリは「…typical robotics machine learning models…」のようなテキストに一致します。ここでは「robotics」「machine」「learning」の各単語が順序どおりに、間に他の単語がない状態で出現しています。
Embedding Lists [READ MORE]
This page explains how to set up a ColBERT text retrieval system and a ColPali text retrieval system using the array of structs in Zilliz Cloud, which enables you to store a document along with its vectorized chunks in embedding lists.
Elasticsearch クエリから Milvus へ [READ MORE]
Apache Lucene を基盤とする Elasticsearch は、主要なオープンソース検索エンジンです。しかし、更新コストの高さ、リアルタイム性能の低さ、シャード管理の非効率性、クラウドネイティブではない設計、そして過剰なリソース要件など、現代の AI アプリケーションにおいて課題に直面しています。クラウドネイティブなベクトルデータベースである Milvus は、ストレージとコンピューティングの分離、高次元データ向けの効率的なインデックス作成、および現代のインフラストラクチャとのシームレスな統合により、これらの課題を克服します。Milvus は、AI ワークロードに対して優れたパフォーマンスとスケーラビリティを提供します。
Search Iterator [READ MORE]
ANN 検索では、1 つのクエリで取得できるエンティティ数に上限があり、基本的な ANN 検索だけでは大規模な検索ニーズに対応できない場合があります。topK が 16,384 を超える ANN 検索リクエストでは、SearchIterator の使用を検討することをお勧めします。このセクションでは、SearchIterator の使用方法と関連する考慮事項について説明します。
パーティションキー(Namespace) [READ MORE]
パーティションキーは、コレクションの名前空間(namespace)として機能し、論理的なデータ分離を実現する検索最適化ソリューションです。特定のスカラーフィールド(テナントIDやプロジェクト名など)をパーティションキーとして指定することで、単一のコレクション内でデータを異なる名前空間に効果的に分割できます。これにより、フィルタ条件を介して検索リクエストを特定の名前空間に絞り込むことができ、検索範囲を大幅に縮小して全体的な効率を向上させることができます。この記事では、この名前空間ベースの最適化の実装方法と、パーティションキー使用時の考慮事項について説明します。
mmap を使用する [READ MORE]
メモリマッピング(mmap)により、ディスク上の大容量ファイルへの直接メモリアクセスが可能になり、Zilliz Cloud はインデックスとデータをメモリとハードドライブの両方に保存できます。このアプローチにより、アクセス頻度に基づいてデータ配置ポリシーを最適化し、検索パフォーマンスに影響を与えることなくコレクションのストレージ容量を拡張できます。このページでは、Zilliz Cloud が mmap を使用して高速で効率的なデータの保存と取得を実現する方法について説明します。
一貫性レベル [READ MORE]
分散型ベクトルデータベースである Zilliz Cloud は、読み取りおよび書き込み操作中に各ノードまたはレプリカが同じデータにアクセスできるように、複数の一貫性レベルを提供します。現在サポートされている一貫性レベルには、Strong、Bounded、Eventually、Session があり、デフォルトの一貫性レベルは Bounded です。
Metric Types [READ MORE]
Similarity metrics are used to measure similarities among vectors. Choosing an appropriate distance metric helps improve classification and clustering performance significantly.