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

Hybrid Search (V2)

この操作は、ベクトル類似度とスカラーフィルタリングに基づいてエンティティを検索し、指定された戦略を使用して結果を再ランク付けします。

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キー、またはコロンで結合されたユーザー名とパスワードのペア(例: username:password)である必要があります。プロジェクトエンドポイントを使用する場合は、十分な権限を持つ有効なAPIキーのみが適用されます。

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

データベースの名前。

collectionNamestring必要

この操作の対象となるコレクションの名前。

partitionNamesarray

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

[]partitionNamesstring

パーティション名。

searcharray必要

検索パラメータ

[]searchobject必要

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

dataarray必要

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

[]datanumber<float32>

ベクトル埋め込み

annsFieldstring必要

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

filterstring必要

ブール式のフィルター。

groupingFieldstring必要

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

metricTypestring

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

limitinteger必要

返すエンティティの数。

offsetinteger必要

返されたエンティティのうちスキップするエンティティの数。

ignoreGrowingboolean必要

growing セグメントで見つかったエンティティを無視するかどうか。

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 アルゴリズムの調整可能な定数。戦略が rrf に設定されている場合にのみ適用されます。

limitinteger

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

groupSizeinteger

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

strictGroupSizeboolean

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

outputFieldsarray

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

[]outputFieldsstring

フィールド名

consistencyLevelstring

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

functionScoreobject

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

namestring

適用する関数の名前。

descriptionstring

適用する関数の説明。

typestring

適用する関数のタイプ。

inputFieldNamesarray

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

[]inputFieldNamesstring

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

outputFieldNamesarray

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

[]outputFieldNamesstring

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

paramsobject

キーと値のペアで指定する関数の追加パラメータ。

offsetinteger

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

groupingFieldstring

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

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 クラスターにのみ適用され、現在のリクエストの vCU 使用量を示します。

dataarray

検索結果

[]dataobject

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

topksarray

各クエリベクトルに対して返された上位 K 件の結果の数。

[]topksinteger
(近日追加予定)
scanned_remote_bytesinteger

このパラメータは、使用状況追跡が有効な階層ストレージを使用するデプロイメントで、操作がリモート/diskストレージから読み取る場合に返されます。すべてのデータがローカルキャッシュから提供される場合は省略されます。

scanned_total_bytesinteger

このパラメータは、使用状況追跡が有効な階層ストレージを使用するデプロイメントで、操作がリモート/diskストレージから読み取る場合に返されます。すべてのデータがローカルキャッシュから提供される場合は省略されます。

cache_hit_rationumber

このパラメータは、使用状況追跡が有効な階層ストレージを使用するデプロイメントで、操作がリモート/diskストレージから読み取る場合に返されます。すべてのデータがローカルキャッシュから提供される場合は省略されます。

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

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
}
]
}
Ctrl I