URL
/vector-service/multi-query
サンプル URL には、リクエストヘッダーやエンコード方式などの情報は含まれていません。
サンプル URL には、OpenSearch アプリケーションへの接続に使用するエンドポイントも含まれていません。
上記の URL に連結されているすべてのリクエストパラメータの定義、使用方法、およびサンプル値の詳細については、このトピックの「リクエストパラメータ」セクションを参照してください。
プロトコル
HTTP
リクエストメソッド
POST
サポートされている形式
JSON
署名方式
次の方法を使用してリクエスト署名を計算できます。 リクエスト署名は authorization ヘッダーに格納されます。
パラメータ | タイプ | 説明 |
accessUserName | string | ユーザー名。ユーザー名は、[インスタンスの詳細] ページの API エンドポイント セクションで確認できます。 |
accessPassWord | string | パスワード。パスワードは、[インスタンスの詳細] ページの API エンドポイント セクションで変更できます。 |
import com.aliyun.darabonba.encode.Encoder;
import com.aliyun.darabonbastring.Client;
public class GenerateAuthorization {
public static void main(String[] args) throws Exception {
String accessUserName = "username";
String accessPassWord = "password";
String realmStr = "" + accessUserName + ":" + accessPassWord + "";
String authorization = Encoder.base64EncodeToString(Client.toBytes(realmStr, "UTF-8"));
System.out.println(authorization);
}
}
authorization ヘッダーの値の有効な形式:
cm9vdDp******mdhbA==
HTTP リクエストで authorization ヘッダーを指定する場合は、Basic プレフィックスを追加する必要があります。
例:
authorization: Basic cm9vdDp******mdhbA==
リクエストパラメータ
SearchRequest
パラメータ | 説明 | デフォルト値 | タイプ | 必須 |
tableName | クエリ対象のテーブルの名前。 | 該当なし | string | はい |
indexName | インデックス名。SearchRequest または各クエリでインデックス名を指定する必要があります。 | 該当なし | string | いいえ |
queries | クエリのリスト。 | 該当なし | list[Query] | はい |
topK | 返される結果の数。 | 100 | int | いいえ |
includeVector | ドキュメントにベクトル情報を返すかどうかを指定します。 | false | bool | いいえ |
outputFields | 返されるフィールド。 | [] | list[string] | いいえ |
order | 結果をソートする順序。ASC は昇順を、DESC は降順を示します。 | ASC | string | いいえ |
filter | フィルター式。 | "" | string | いいえ |
sort | ソート式。 | "" | string | いいえ |
Query
パラメータ | 説明 | デフォルト値 | タイプ | 必須 |
indexName | インデックス名。SearchRequest または各クエリでインデックス名を指定する必要があります。 | 該当なし | string | いいえ |
vector | クエリ対象のベクトルデータ。複数のベクトルをタイル化できます。 | 該当なし | list[float] | いいえ |
vectorCount | vector パラメータで指定されたベクトルの数。 | 1 | 1 | いいえ |
topK | 返される結果の数。 | 100 | int | いいえ |
namespace | ベクトルデータの名前空間。 | "" | string | いいえ |
sparseData | クエリ対象のスパースベクトルデータ。 | 該当なし | SparseData | いいえ |
weight | クエリの重み。 | 1.0 | float | いいえ |
searchParams | データをクエリするために使用されるパラメータ。 | "" | string | いいえ |
scoreThreshold | 結果をフィルタリングするために使用されるしきい値スコア。スコアがユークリッド距離の二乗である場合、ユークリッド距離の二乗が scoreThreshold パラメータの値よりも小さいドキュメントのみが返されます。スコアが内積である場合、内積が scoreThreshold パラメータの値よりも大きいドキュメントのみが返されます。 | 該当なし | float | いいえ |
SparseData
パラメータ | 説明 | デフォルト値 | タイプ | 必須 |
count | 各スパースベクトル内の要素の数。 | スパースベクトルが 1 つだけ指定されている場合、このパラメータのデフォルト値はインデックスの数です。 | list[int] | いいえ |
indices | 要素のインデックス (昇順)。 | 該当なし | list[int] | はい |
values | インデックスと同じ順序の要素の値。 | 該当なし | list[float] | はい |
レスポンスパラメータ
返された結果
パラメータ | 説明 | タイプ |
result | 返された結果。 | list[Item] |
totalCount | 結果の数。 | int |
totalTime | レスポンスタイム。単位: ミリ秒。 | float |
errorCode | リクエストが失敗した場合に返されるエラーコード。 | int |
errorMsg | リクエストが失敗した場合に返されるエラーメッセージ。 | string |
Item
パラメータ | 説明 | タイプ |
score | ベクトルのスコア。 | float |
fields | フィールドと対応する値。 | map<string, FieldType> |
vector | ベクトル値。 | list[float] |
id | プライマリキー値。値は定義されたデータ型です。 | Type |
namespace | ベクトルの名前空間。このパラメータは、ベクトルに名前空間が設定されている場合に返されます。 | string |
例
複数の名前空間を使用したクエリ
リクエストの例:
{
"tableName": "gist",
"indexName": "vec_index",
"queries": [
{
"vector": [
0.1,
0.2,
0.3
],
"namespace": "space_a"
},
{
"vector": [
0.4,
0.5,
0.6
],
"namespace": "space_b"
}
],
"topK": 3,
"includeVector": true
}
レスポンスの例:
{
"result": [
{
"id": 1,
"score": 1.0508723258972169,
"vector": [
0.1,
0.2,
0.3
],
"namespace": "space_a"
},
{
"id": 2,
"score": 1.0329746007919312,
"vector": [
0.2,
0.2,
0.3
],
"namespace": "space_b"
},
{
"id": 3,
"score": 0.980593204498291,
"vector": [
0.3,
0.2,
0.3
],
"namespace": "space_a"
}
],
"totalCount": 3,
"totalTime": 2.943
}
複数のインデックスを使用したハイブリッドクエリ
リクエストの例:
{
"tableName": "gist",
"queries": [
{
"indexName": "content_vec",
"vector": [
0.1,
0.2,
0.3
],
"sparseData": {
"count": [
3
],
"indices": [
102,
405,
503
],
"values": [
0.32,
0.94,
0.25
]
},
"weight": 0.7,
"namespace": "space_a"
},
{
"indexName": "title_vec",
"vector": [
0.4,
0.5,
0.6
],
"sparseData": {
"count": [
2
],
"indices": [
203,
709
],
"values": [
0.98,
0.08
]
},
"weight": 0.3,
"namespace": "space_b"
}
],
"topK": 3,
"includeVector": true
}