メインコンテンツまでスキップ

検索 (V2)

Milvus バージョンの互換性
サーバーサイドのソート、グループ化、および検索集約のパラメータ(orderByFields、groupByFields、searchAggregation)は、Milvus v3.0.x 以降と互換性のあるクラスターでのみ有効です。Zilliz Cloud では、サーバーレスクラスタは Milvus v3.0.x と互換性があり、Dedicated クラスタは v3.0.x Public Preview にアップグレードしない限り Milvus v2.6.x と互換性があります。

この操作は、オプションのスカラー フィルタリング式を使用してベクトル類似検索を実行します。

POST/v2/vectordb/entities/search
接続エンドポイント

https://{cluster-id}.{region}.vectordb.zillizcloud.com:19530

📘ノート
  • サービングクラスターを使用している場合は、クラスターエンドポイントを使用してください。
    • Free & Serverless

      https://{cluster-id}.serverless.{region}.vectordb.zillizcloud.com

    • Dedicated

      https://{cluster-id}.{region}.vectordb.zillizcloud.com:19530

  • ${CLUSTER_ENDPOINT} を、あなたのZilliz Cloudクラスターのエンドポイントに置き換える必要があります。
  • エンドポイントを取得するには、Describe Cluster V2 APIを使用してレスポンスから値を抽出してください。
shell
export CLUSTER_ENDPOINT="https://{cluster-id}.{region}.vectordb.zillizcloud.com:19530"
パラメータ
Authorizationstringheader必要

認証トークンは、適切な権限を持つ API key または username:password のようにコロンで連結した username と password の組み合わせである必要があります。project endpoint を使用している場合は、十分な権限を持つ有効な API key のみが使用できます。

値の例: Bearer {{TOKEN}}
リクエスト・ボディ
dbNamestring

データベースの名前。

collectionNamestring必要

この操作が適用される collection の名前。

dataarray必要

ベクトル埋め込みのリスト。
Zilliz Cloud は、指定されたベクトル埋め込みに最も類似したベクトル埋め込みを検索します。
このパラメータは ids と同時に指定できません。

[]dataarray

ベクトル埋め込み

idsarray

主キーのリスト。
Zilliz Cloud は、指定されたエンティティ内のベクトル埋め込みに最も類似したベクトル埋め込みを検索します。
このパラメータは data と同時に指定できません。

annsFieldstring

ベクトル フィールドの名前。

filterstring

検索の一致対象を見つけるために使用するフィルタ。

groupingFieldstring

検索結果を指定したフィールドでグループ化し、多様性を確保して同じグループから複数の結果が返されることを防ぎます。

groupSizeinteger

各グループについて返すエンティティ数。このパラメータは、groupingField が指定されている場合にのみ有効です。

strictGroupSizeboolean

各グループについて top k エンティティのみを返すかどうか。このパラメータは、groupingField が指定されている場合にのみ有効です。

limitinteger

返されるエンティティの総数。 このパラメータは param 内の offset と組み合わせて使用し、ページネーションを有効にできます。 この値と param 内の offset の合計は 16,384 未満である必要があります。

offsetinteger

検索結果でスキップするレコード数。 このパラメータは limit と組み合わせて使用し、ページネーションを有効にできます。 この値と limit の合計は 16,384 未満である必要があります。

outputFieldsarray

検索結果とともに返すフィールドの配列。

[]outputFieldsstring

フィールド名

searchParamsobject

この操作に固有のパラメータ設定。

metricTypestring

現在の検索に適用される metric type の名前。値は対象 collection の metric type と同じである必要があります。

paramsobject

追加の検索パラメータ。

radiusnumber<float64>

最小類似度のしきい値を決定します。metric_type を L2 に設定する場合、この値は range_filter の値より大きくする必要があります。それ以外の場合、この値は range_filter の値より小さくする必要があります。

range_filternumber<float64>

特定の類似度範囲内のベクトルに検索を絞り込みます。metric_type を IP または COSINE に設定する場合、この値は radius の値より大きくする必要があります。それ以外の場合、この値は radius の値より小さくする必要があります。

partitionNamesarray

この操作が適用される partitions の名前。このパラメータを設定すると、検索は指定した partitions 内で実行されます。設定しない場合、検索は collection 内のすべての partitions を対象に実行されます。

[]partitionNamesstring

partition 名。

consistencyLevelstring

検索操作の一貫性レベル。値は対象 collection の一貫性レベルと同じである必要があります。

exprParamsobject

filter パラメータに埋め戻してフィルタ テンプレートを有効にできるキーと値のペアのセット。詳細については、Filter Templating を参照してください。

functionScoreobject

現在の検索リクエストに対する function 設定。

functionsarray

検索リクエストで関数スコアリングを使用するときに適用される関数を配列で指定します。

[]functionsobject

name と type で識別される 1 つの関数定義で、inputFieldNames と outputFieldNames によって入出力フィールドに紐付けられます。

descriptionstring

適用する function の説明。

inputFieldNamesarray必要

function の入力として使用するスカラー フィールドのリスト。

[]inputFieldNamesstring

関数への入力として使用するスカラーフィールドの名前。

namestring必要

適用する function の名前。

outputFieldNamesarray必要

function の出力として使用するベクトル フィールドのリスト。

[]outputFieldNamesstring

関数の出力として使用するベクトルフィールドの名前。

paramsobject

キーと値のペアによる function の追加パラメータ。

typestring必要

適用する function のタイプ。

paramsobject

キーと値のペアによる function の追加パラメータ。

paramsobject

キーと値のペアによる検索の追加パラメータ。

functionChainsarray

検索の再ランキング中に適用される関数チェーン。

[]functionChainsobject

検索の再ランキング中に適用される関数チェーン。

namestringPublic Preview

関数チェーン名。

stagestring必要Public Preview

関数チェーンの実行ステージ。

opsarray必要

関数チェーン内の順序付き操作。

[]opsobject必要

関数チェーン内の操作。

opstring必要Public Preview

操作名。

exprobject

この操作によって評価されるオプションの式。

namestring必要Public Preview

式関数の名前。

argsarray

順序付きの式引数。

[]argsobject

列またはリテラルのいずれかとして指定される式の引数。

columnstringPublic Preview

列名です。column と literal のいずれか一方のみを指定する必要があります。

literalundefinedPublic Preview

リテラル値です。column と literal のいずれか一方のみを指定する必要があります。

paramsobject

キーと値のペアで指定する式パラメータ。

inputsarray

入力列名。

[]inputsstringPublic Preview

入力列名。

outputsarray

出力列名。

[]outputsstringPublic Preview

出力列名。

paramsobject

キーと値のペアで指定する操作パラメータ。

searchAggregationobject

検索結果の集計設定です。このパラメータは、ids、offset、またはグループ化パラメータと併用できません。

fieldsarray必要

集計バケットの形成に使用される空でないスカラーフィールド。

[]fieldsstringPublic Preview

集計バケットの形成に使用されるスカラーフィールド。

sizeinteger必要Public Preview

返される集計バケットの数。

値の範囲: ≥ 1
searchSizeintegerPublic Preview

検索中に考慮されるバケット数です。指定する場合は、size 以上である必要があります。

値の範囲: ≥ 1
metricsobject

結果名でキー付けされた名前付きメトリック集計。

orderarray

集計バケットの並べ替えルール。

[]orderobject

集計バケットの並べ替えルール。

keystring必要Public Preview

並べ替えに使用するバケット数またはメトリックキー。

directionstring必要Public Preview

並べ替え方向。

topHitsobject

各集計バケットのトップヒット設定。

sizeinteger必要Public Preview

各バケットに対して返されるトップヒットの数。

値の範囲: ≥ 1
sortarray

トップヒットの並べ替えルール。

[]sortobject

トップヒットの並べ替えルール。

fieldNamestring必要Public Preview

トップヒットの並べ替えに使用するフィールド。

directionstring必要Public Preview

並べ替え方向。

subAggregationobject

各バケット内で適用されるネストされた集計。検索集計は、トップレベルの集計の下に最大 3 層のサブ集計をネストできます(合計 4 層)。それを超えるとリクエストは拒否されます。

fieldsarray必要

集計バケットの形成に使用される空でないスカラーフィールド。

[]fieldsstringPublic Preview

集計バケットの形成に使用されるスカラーフィールド。

sizeinteger必要Public Preview

返される集計バケットの数。

値の範囲: ≥ 1
searchSizeintegerPublic Preview

検索中に考慮されるバケット数です。指定する場合は、size 以上である必要があります。

値の範囲: ≥ 1
metricsobject

結果名でキー付けされた名前付きメトリック集計。

orderarray

集計バケットの並べ替えルール。

[]orderobject

集計バケットの並べ替えルール。

keystring必要Public Preview

並べ替えに使用するバケット数またはメトリックキー。

directionstring必要Public Preview

並べ替え方向。

topHitsobject

各集計バケットのトップヒット設定。

sizeinteger必要Public Preview

各バケットに対して返されるトップヒットの数。

値の範囲: ≥ 1
sortarray

トップヒットの並べ替えルール。

[]sortobject

トップヒットの並べ替えルール。

fieldNamestring必要Public Preview

トップヒットの並べ替えに使用するフィールド。

directionstring必要Public Preview

並べ替え方向。

subAggregationobject (SearchAggregationRequest)

各バケット内で適用されるネストされた集計。検索集計は、トップレベルの集計の下に最大 3 層のサブ集計をネストできます(合計 4 層)。それを超えるとリクエストは拒否されます。

orderByFieldsarray

検索結果の並べ替えに使用するスカラーフィールド。各要素はフィールド名、fieldName:asc、または fieldName:desc で指定でき、デフォルトの並べ替え方向は昇順です。

[]orderByFieldsstringPublic Preview

検索結果に対する 1 つの並べ替え指定で、フィールド名(デフォルトは昇順)、fieldName:asc、または fieldName:desc で記述します。

bash
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 配列を含みます。

codeinteger

レスポンス コード。

costinteger

この操作のコスト。これは free および serverless clusters にのみ適用され、現在のリクエストの vCU 使用量を示します。

dataarray

エンティティ オブジェクトのリスト。

[]dataobject

エンティティ オブジェクト。

idoneOf

返されたエンティティのプライマリキーの値。Milvus のプライマリキーは Collection のスキーマに応じて Int64 または VarChar のため、値は数値または文字列のいずれかです。

integer
(近日追加予定)
string
(近日追加予定)
distancenumber

クエリベクトルとこの返されたエンティティの間の類似度距離。

grpstring

groupingField を指定した場合に返される、この結果が属するグループ。

bucketsarray

searchAggregation を指定した場合に返される集計バケット。

[]bucketsobject
countnumberPublic Preview

このバケットに集約されたエンティティの数。

hitsarray

このバケットに集約された検索結果。

[]hitsobject
keyarray

このバケットを定義するキー値。

[]keyobject
fieldIdintegerPublic Preview

このバケットを定義するフィールドの ID。

fieldNamestringPublic Preview

このバケットを定義するフィールドの名前。

metricsobject

このバケット内のヒットに対して計算された集計メトリクス。

avgnumberPublic Preview

このバケット内のヒットの平均距離。

maxnumberPublic Preview

このバケット内のヒットの最大距離。

minnumberPublic Preview

このバケット内のヒットの最小距離。

nnumberPublic Preview

このバケットに集約されたヒットの数。

totalnumberPublic Preview

このバケット内のヒットの距離の合計。

subGroupsarray

このバケットのネストされたサブグループ。

[]subGroupsobject
recallsarray

各検索結果グループの再現率の値。

[]recallsnumber

1 つの検索結果グループの再現率の値。

topksarray

各クエリ ベクトルに対して返される top-K 結果の数。

[]topksinteger

1 つのクエリベクトルに対して返される top-K 結果の数。

scanned_remote_bytesinteger

デプロイメントが tiered storage を使用し、usage tracking が有効で、かつ操作で remote/disk storage から読み取る場合に返されます。すべてのデータが local cache から提供される場合は省略されます。

scanned_total_bytesinteger

デプロイメントが tiered storage を使用し、usage tracking が有効で、かつ操作で remote/disk storage から読み取る場合に返されます。すべてのデータが local cache から提供される場合は省略されます。

cache_hit_rationumber

デプロイメントが tiered storage を使用し、usage tracking が有効で、かつ操作で remote/disk storage から読み取る場合に返されます。すべてのデータが local cache から提供される場合は省略されます。

aggTopksarray

searchAggregation を指定した場合に返される、集計検索ブランチの top-k 制限。

[]aggTopksnumberPublic Preview
(近日追加予定)

エラー メッセージを返します。

codeinteger

レスポンス コード。

messagestring

エラー メッセージ。

Successjson
{
"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
}
]
}