URL
/vector-service/query
以上 URL 省略了請求Header參數及編碼等因素。
以上 URL 中省略了訪問應用的 host 地址。
以上URL 中拼接的所有查詢參數,請查看下方“查詢參數”的參數定義、使用方式及樣例。
請求協議
HTTP
請求方式
POST
支持格式
JSON
簽名機制
可用以下方法計算簽名(authorization)
參數 | 類型 | 描述 |
accessUserName | string | 用戶名,可在實例詳情頁>網絡信息查看 |
accessPassWord | string | 密碼,可在實例詳情頁>網絡信息修改 |
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前綴
示例:(加在header中)
authorization: Basic cm9vdDp******mdhbA==
請求body語法
SearchRequest
參數名稱 | 描述 | 默認值 | 類型 | 是否必須 |
tableName | 查詢的表名 | 無 | string | 是 |
indexName | 稠密向量索引名稱 | 無 | string | 是 |
vector | 查詢的稠密向量數據 | 無 | list[float] | 是 |
sparseData | 查詢的稀疏向量數據 | 無 | SparseData | 是 |
vectorCount | vector字段中包含的向量個數 | 1 | int | 否 |
namespace | 查詢向量的空間 | "" | string | 否 |
topK | 返回個數 | 100 | int | 否 |
includeVector | 是否返回文檔中的向量信息 | false | bool | 否 |
outputFields | 需要返回值的字段列表 | [] | list[string] | 否 |
order | 排序順序, ASC:升序 DESC: 降序 | ASC | string | 否 |
searchParams | 查詢參數 | "" | string | 否 |
filter | 過濾表達式 | "" | string | 否 |
scoreThreshold | 分數過濾, 使用歐式距離時,只返回小于scoreThreshold的結果。使用內積時,只返回大于scoreThreshold的結果 | 默認不過濾 | float | 否 |
sort | 排序表達式 | "" | string | 否 |
SparseData
參數名稱 | 描述 | 默認值 | 類型 | 是否必須 |
count | 每個稀疏向量中包含的元素個數 | 只有一個稀疏向量時默認為indices長度 | list[int] | 否 |
indices | 元素下標(需要從小到大排序) | 無 | list[int] | 是 |
values | 元素值(與下標一一對應) | 無 | list[float] | 是 |
混合查詢
{
"tableName": "in0",
"indexName": "vector",
"vector": [
0.1,
0.2,
0.3,
0.4,
0.5
],
"sparseData": {
"indices": [
0,
2
],
"values": [
1.2,
2.4
]
},
"topK": 2,
"order": "DESC"
}
返回參數
字段名稱 | 描述 | 類型 |
result | 結果列表 | list[Item] |
totalCount | result中的個數 | int |
totalTime | 引擎處理耗時,單位ms | float |
errorCode | 錯誤碼,有錯誤時才有該字段 | int |
errorMsg | 錯誤信息,有錯誤時才有該字段 | string |
item定義:
字段名稱 | 描述 | 類型 |
score | 距離分 | float |
fields | 字段名稱和對應的值 | map<string, FieldType> |
vector | 向量值 | list[float] |
id | 主鍵值,類型為所定義的字段類型 | FieldType |
namespace | 向量的名稱空間,如果設置了namespace會返回該字段 | string |
示例:
{
"totalCount": 50,
"result": [
{
"id": 99,
"score": 0.18588095903396607,
"__source__": 1,
"fields": {
"content": "眾好六類網線RJ45 6類千兆8芯雙絞跳線 寬帶監控家用網線成品線"
}
}
],
"totalTime": 4.057
}