検索 (V2)
orderByFields、groupByFields、searchAggregation)は、Milvus v3.0.x 以降と互換性のあるクラスターでのみ有効です。Zilliz Cloud では、サーバーレスクラスタは Milvus v3.0.x と互換性があり、Dedicated クラスタは v3.0.x Public Preview にアップグレードしない限り Milvus v2.6.x と互換性があります。この操作は、オプションのスカラー フィルタリング式を使用してベクトル類似検索を実行します。
https://{cluster-id}.{region}.vectordb.zillizcloud.com:19530
- サービングクラスターを使用している場合は、クラスターエンドポイントを使用してください。
Free & Serverless
https://{cluster-id}.serverless.{region}.vectordb.zillizcloud.comDedicated
https://{cluster-id}.{region}.vectordb.zillizcloud.com:19530
${CLUSTER_ENDPOINT}を、あなたのZilliz Cloudクラスターのエンドポイントに置き換える必要があります。- エンドポイントを取得するには、Describe Cluster V2 APIを使用してレスポンスから値を抽出してください。
export CLUSTER_ENDPOINT="https://{cluster-id}.{region}.vectordb.zillizcloud.com:19530"
認証トークンは、適切な権限を持つ API key または username:password のようにコロンで連結した username と password の組み合わせである必要があります。project endpoint を使用している場合は、十分な権限を持つ有効な API key のみが使用できます。
データベースの名前。
この操作が適用される collection の名前。
ベクトル埋め込みのリスト。
Zilliz Cloud は、指定されたベクトル埋め込みに最も類似したベクトル埋め込みを検索します。
このパラメータは ids と同時に指定できません。
ベクトル埋め込み
主キーのリスト。
Zilliz Cloud は、指定されたエンティティ内のベクトル埋め込みに最も類似したベクトル埋め込みを検索します。
このパラメータは data と同時に指定できません。
ベクトル フィールドの名前。
検索の一致対象を見つけるために使用するフィルタ。
検索結果を指定したフィールドでグループ化し、多様性を確保して同じグループから複数の結果が返されることを防ぎます。
各グループについて返すエンティティ数。このパラメータは、groupingField が指定されている場合にのみ有効です。
各グループについて top k エンティティのみを返すかどうか。このパラメータは、groupingField が指定されている場合にのみ有効です。
返されるエンティティの総数。 このパラメータは param 内の offset と組み合わせて使用し、ページネーションを有効にできます。 この値と param 内の offset の合計は 16,384 未満である必要があります。
検索結果でスキップするレコード数。 このパラメータは limit と組み合わせて使用し、ページネーションを有効にできます。 この値と limit の合計は 16,384 未満である必要があります。
検索結果とともに返すフィールドの配列。
フィールド名
この操作に固有のパラメータ設定。
現在の検索に適用される metric type の名前。値は対象 collection の metric type と同じである必要があります。
追加の検索パラメータ。
最小類似度のしきい値を決定します。metric_type を L2 に設定する場合、この値は range_filter の値より大きくする必要があります。それ以外の場合、この値は range_filter の値より小さくする必要があります。
特定の類似度範囲内のベクトルに検索を絞り込みます。metric_type を IP または COSINE に設定する場合、この値は radius の値より大きくする必要があります。それ以外の場合、この値は radius の値より小さくする必要があります。
この操作が適用される partitions の名前。このパラメータを設定すると、検索は指定した partitions 内で実行されます。設定しない場合、検索は collection 内のすべての partitions を対象に実行されます。
partition 名。
検索操作の一貫性レベル。値は対象 collection の一貫性レベルと同じである必要があります。
filter パラメータに埋め戻してフィルタ テンプレートを有効にできるキーと値のペアのセット。詳細については、Filter Templating を参照してください。
現在の検索リクエストに対する function 設定。
検索リクエストで関数スコアリングを使用するときに適用される関数を配列で指定します。
name と type で識別される 1 つの関数定義で、inputFieldNames と outputFieldNames によって入出力フィールドに紐付けられます。
適用する function の説明。
function の入力として使用するスカラー フィールドのリスト。
関数への入力として使用するスカラーフィールドの名前。
適用する function の名前。
function の出力として使用するベクトル フィールドのリスト。
関数の出力として使用するベクトルフィールドの名前。
キーと値のペアによる function の追加パラメータ。
適用する function のタイプ。
キーと値のペアによる function の追加パラメータ。
キーと値のペアによる検索の追加パラメータ。
検索の再ランキング中に適用される関数チェーン。
検索の再ランキング中に適用される関数チェーン。
関数チェーン名。
関数チェーンの実行ステージ。
関数チェーン内の順序付き操作。
関数チェーン内の操作。
操作名。
この操作によって評価されるオプションの式。
式関数の名前。
順序付きの式引数。
列またはリテラルのいずれかとして指定される式の引数。
列名です。column と literal のいずれか一方のみを指定する必要があります。
リテラル値です。column と literal のいずれか一方のみを指定する必要があります。
キーと値のペアで指定する式パラメータ。
入力列名。
入力列名。
出力列名。
出力列名。
キーと値のペアで指定する操作パラメータ。
検索結果の集計設定です。このパラメータは、ids、offset、またはグループ化パラメータと併用できません。
集計バケットの形成に使用される空でないスカラーフィールド。
集計バケットの形成に使用されるスカラーフィールド。
返される集計バケットの数。
検索中に考慮されるバケット数です。指定する場合は、size 以上である必要があります。
結果名でキー付けされた名前付きメトリック集計。
集計バケットの並べ替えルール。
集計バケットの並べ替えルール。
並べ替えに使用するバケット数またはメトリックキー。
並べ替え方向。
各集計バケットのトップヒット設定。
各バケットに対して返されるトップヒットの数。
トップヒットの並べ替えルール。
トップヒットの並べ替えルール。
トップヒットの並べ替えに使用するフィールド。
並べ替え方向。
各バケット内で適用されるネストされた集計。検索集計は、トップレベルの集計の下に最大 3 層のサブ集計をネストできます(合計 4 層)。それを超えるとリクエストは拒否されます。
集計バケットの形成に使用される空でないスカラーフィールド。
集計バケットの形成に使用されるスカラーフィールド。
返される集計バケットの数。
検索中に考慮されるバケット数です。指定する場合は、size 以上である必要があります。
結果名でキー付けされた名前付きメトリック集計。
集計バケットの並べ替えルール。
集計バケットの並べ替えルール。
並べ替えに使用するバケット数またはメトリックキー。
並べ替え方向。
各集計バケットのトップヒット設定。
各バケットに対して返されるトップヒットの数。
トップヒットの並べ替えルール。
トップヒットの並べ替えルール。
トップヒットの並べ替えに使用するフィールド。
並べ替え方向。
各バケット内で適用されるネストされた集計。検索集計は、トップレベルの集計の下に最大 3 層のサブ集計をネストできます(合計 4 層)。それを超えるとリクエストは拒否されます。
検索結果の並べ替えに使用するスカラーフィールド。各要素はフィールド名、fieldName:asc、または fieldName:desc で指定でき、デフォルトの並べ替え方向は昇順です。
検索結果に対する 1 つの並べ替え指定で、フィールド名(デフォルトは昇順)、fieldName:asc、または fieldName:desc で記述します。
export TOKEN="db_admin:xxxxxxxxxxxxx"
curl --request POST \
--url "${CLUSTER_ENDPOINT}/v2/vectordb/entities/search" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Request-Timeout: 5" \
--header "Content-Type: application/json" \
-d '{
"collectionName": "quick_setup",
"data": [
[
0.3580376395471989,
-0.6023495712049978,
0.18414012509913835,
-0.26286205330961354,
0.9029438446296592
]
],
"annsField": "vector",
"limit": 3,
"outputFields": [
"color"
],
"functionChains": [
{
"name": "l2",
"stage": "FunctionChainStageL2Rerank",
"ops": [
{
"op": "map",
"outputs": [
"new_score"
],
"expr": {
"name": "num_combine",
"args": [
{
"column": "$score"
},
{
"literal": 2.5
}
],
"params": {
"mode": "weighted"
}
}
}
]
}
],
"searchAggregation": {
"fields": [
"color"
],
"size": 10,
"order": [
{
"key": "_count",
"direction": "desc"
}
]
}
}'
検索結果を返します。
成功レスポンスボディの一形式で、検索結果と、返された各結果グループを説明する topks および recalls 配列を含みます。
レスポンス コード。
この操作のコスト。これは free および serverless clusters にのみ適用され、現在のリクエストの vCU 使用量を示します。
エンティティ オブジェクトのリスト。
エンティティ オブジェクト。
返されたエンティティのプライマリキーの値。Milvus のプライマリキーは Collection のスキーマに応じて Int64 または VarChar のため、値は数値または文字列のいずれかです。
クエリベクトルとこの返されたエンティティの間の類似度距離。
groupingField を指定した場合に返される、この結果が属するグループ。
searchAggregation を指定した場合に返される集計バケット。
このバケットに集約されたエンティティの数。
このバケットに集約された検索結果。
このバケットを定義するキー値。
このバケットを定義するフィールドの ID。
このバケットを定義するフィールドの名前。
このバケット内のヒットに対して計算された集計メトリクス。
このバケット内のヒットの平均距離。
このバケット内のヒットの最大距離。
このバケット内のヒットの最小距離。
このバケットに集約されたヒットの数。
このバケット内のヒットの距離の合計。
このバケットのネストされたサブグループ。
各検索結果グループの再現率の値。
1 つの検索結果グループの再現率の値。
各クエリ ベクトルに対して返される top-K 結果の数。
1 つのクエリベクトルに対して返される top-K 結果の数。
デプロイメントが tiered storage を使用し、usage tracking が有効で、かつ操作で remote/disk storage から読み取る場合に返されます。すべてのデータが local cache から提供される場合は省略されます。
デプロイメントが tiered storage を使用し、usage tracking が有効で、かつ操作で remote/disk storage から読み取る場合に返されます。すべてのデータが local cache から提供される場合は省略されます。
デプロイメントが tiered storage を使用し、usage tracking が有効で、かつ操作で remote/disk storage から読み取る場合に返されます。すべてのデータが local cache から提供される場合は省略されます。
searchAggregation を指定した場合に返される、集計検索ブランチの top-k 制限。
エラー メッセージを返します。
レスポンス コード。
エラー メッセージ。
{
"code": 0,
"data": [
{
"color": "orange_6781",
"distance": 1,
"id": 448300048035776800
},
{
"color": "red_4794",
"distance": 0.9353201,
"id": 448300048035776800
},
{
"color": "grey_8510",
"distance": 0.7733054,
"id": 448300048035776800
}
]
}