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

ハイブリッド検索 (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 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

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

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

dataarray

検索結果

[]dataobject

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

topksarray

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

[]topksinteger
(近日追加予定)
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
}
]
}