URL
/vector-service/multi-query
サンプル URL には、リクエストヘッダーやエンコード方式などの情報は含まれていません。
サンプル URL には、アプリケーションへの接続に使用するエンドポイントも含まれていません。
上記の 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]
はい
mode
複数のクエリ結果で同じプライマリキーを持つドキュメントのスコアの計算方法を指定します。有効な値: sum、max、min。
sum
string
いいえ
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
int
いいえ
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"
}
],
"mode": "min",
"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
}