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

ハイブリッド検索 (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/hybrid_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 のようにコロンで連結されたユーザー名とパスワードの組み合わせである必要があります。project endpoint を使用している場合は、十分な権限を持つ有効な API key のみが適用されます。

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

データベースの名前。

collectionNamestring必要

この操作が適用されるコレクションの名前。

partitionNamesarray

この操作が適用されるパーティションの名前です。このパラメータを設定すると、検索は指定されたパーティション内で実行されます。それ以外の場合、検索はコレクション内のすべてのパーティションを対象に実行されます。

[]partitionNamesstring

パーティション名。

searcharray必要

検索パラメータ

[]searchobject必要

ベクトル フィールドの検索パラメータ。

dataarray必要

ベクトル埋め込みのリスト。Zilliz Cloud は、指定されたベクトル埋め込みに最も類似したベクトル埋め込みを検索します。

[]datanumber<float32>

ベクトル埋め込み

annsFieldstring必要

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

filterstring必要

ブール式フィルタ。

groupingFieldstring必要

集計条件として機能するフィールドの名前。

metricTypestring

現在の検索に適用されるメトリック タイプの名前です。値は対象コレクションのメトリック タイプと同じである必要があります。

limitinteger必要

返されるエンティティの数。

offsetinteger必要

返されるエンティティからスキップするエンティティ数。

ignoreGrowingboolean必要

growing segments で見つかったエンティティを無視するかどうか。

paramsobject

追加の検索パラメータ。

radiusnumber<float64>

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

range_filternumber<float64>

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

exprParamsobject

パラメータ化されたフィルタ式用の式テンプレート パラメータ値。

rerankobject

再ランキング戦略。

strategystring

再ランキング戦略の名前。

paramsobject必要

指定された戦略に関連するパラメータのセット

kinteger必要

RRF アルゴリズムにおける調整可能な定数です。これは strategy が rrf に設定されている場合にのみ適用されます。

limitinteger

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

groupSizeinteger

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

strictGroupSizeboolean

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

outputFieldsarray

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

[]outputFieldsstring

フィールド名

consistencyLevelstring

検索操作の整合性レベル。値は対象コレクションの整合性レベルと同じである必要があります。

functionScoreobject

現在の検索リクエストの関数設定。

functionsarray

functionScore がハイブリッド検索結果のスコアリング時に適用する関数定義。

[]functionsobject

name と type で識別される 1 つの関数定義で、inputFieldNames に列挙されたフィールドを読み取り、結果を outputFieldNames に列挙されたフィールドへ書き込みます。

descriptionstring

適用する function の説明。

inputFieldNamesarray必要

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

[]inputFieldNamesstring

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

namestring必要

適用する function の名前。

outputFieldNamesarray必要

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

[]outputFieldNamesstring

関数の出力を受け取るベクターフィールドの名前。

paramsobject

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

typestring必要

適用する function のタイプ。

paramsobject

関数用の追加パラメータ(キーと値のペア)。

offsetinteger

検索結果でスキップするレコード数。

groupingFieldstring

検索結果をグループ化する対象のフィールド名。

functionChainsarray

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

[]functionChainsobject

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

namestringPublic Preview

チェーン内で適用する関数の名前。

opsarray

関数チェーンが順番に実行する操作。

[]opsobject

順序付けられた function chain 内の単一の操作。

exprobject

この操作によって評価される任意の式。

argsarray

式に渡される順序付けられた引数。

[]argsobject

順序付けられた式引数リスト内の単一の引数。

columnstringPublic Preview

この引数として使用する列名。column と literal のいずれか一方のみを指定する必要があります。

literalundefinedPublic Preview

この引数として使用するリテラル値。column と literal のいずれか一方のみを指定する必要があります。

namestringPublic Preview

この式で適用する関数の名前。

paramsobject

検索用の追加パラメータ。キーと値のペアで指定します。

inputsarray

操作の入力列名。

[]inputsstringPublic Preview

操作の入力列名。

opstringPublic Preview

この function chain ステップで実行する操作の名前。

outputsarray

操作によって生成される出力列名。

[]outputsstringPublic Preview

関数チェーン内のこの操作によって生成される出力列名。

paramsobject

この操作の追加の検索パラメータ。キーと値のペアで指定します。

stagestringPublic Preview

関数チェーンの実行ステージ。サポートされる値: FunctionChainStageL2Rerank。

bash
export TOKEN="db_admin:xxxxxxxxxxxxx"

curl --request POST \
--url "${CLUSTER_ENDPOINT}/v2/vectordb/entities/hybrid_search" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Request-Timeout: 5" \
--header "Content-Type: application/json" \
-d '{
"collectionName": "test_collection",
"search": [
{
"data": [
[
0.673437956701697,
0.739243747672878
]
],
"annsField": "float_vector_1",
"limit": 10,
"outputFields": [
"*"
]
},
{
"data": [
[
0.075384179256879,
0.9971545645073111
]
],
"annsField": "float_vector_2",
"limit": 10,
"outputFields": [
"*"
]
}
],
"rerank": {
"strategy": "rrf",
"params": {
"k": 10
}
},
"limit": 3,
"outputFields": [
"user_id",
"word_count",
"book_describe"
]
}'
レスポンス

検索結果を返します。

ハイブリッド検索操作によって返されるレスポンスオブジェクト。

codeinteger

レスポンスコード。

costinteger

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

dataarray

検索結果

[]dataobject

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

idoneOf

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

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

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

grpstring

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

topksarray

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

[]topksinteger

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

scanned_remote_bytesinteger

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

scanned_total_bytesinteger

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

cache_hit_rationumber

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

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

codeinteger

レスポンスコード。

messagestring

エラーメッセージ。

Successjson
{
"code": 0,
"cost": 0,
"data": [
{
"book_describe": "book_105",
"distance": 0.09090909,
"id": 450519760774180800,
"user_id": 5,
"word_count": 105
},
{
"book_describe": "book_246",
"distance": 0.09090909,
"id": 450519760774180900,
"user_id": 46,
"word_count": 246
},
{
"book_describe": "book_367",
"distance": 0.08333333600000001,
"id": 450519760774181060,
"user_id": 67,
"word_count": 367
}
]
}