向量查询
功能介绍
基于相似度匹配的查询方式,用于查找与给定查询向量相似的向量。返回指定的 Top K 个最相似的 Entity。
URI
POST /v1/entities/search
请求参数
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
store_name |
是 |
String |
参数解释: 知识仓实例名称,region内唯一。 约束限制: 长度范围为3到63个字符,支持小写字母、数字、中划线(-),第一个字符只能够是小写字母,中划线(-)不得出现在字符串末尾。 取值范围: 不涉及 默认取值: 不涉及 |
|
collection_name |
是 |
String |
参数解释: collection名称,知识仓内唯一。 约束限制: 长度范围为1到255个字符,支持字母、数字、中划线(-)和下划线(_),大小写敏感。第一个字符只能够是下划线(_)和字母,中划线(-)不得出现在字符串末尾。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
output_fields |
否 |
Array of strings |
参数解释: field名称列表,配置需与搜索结果一起返回的字段。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: [ ],不返回任何额外的字段数据。 |
|
top_k |
否 |
Integer |
参数解释: 返回的entity个数限制。可以将此参数与offset结合使用以启用分页。 约束限制: 与offset取值的总和应小于16384。 取值范围: [1, 16384] 默认取值: 10 |
|
offset |
否 |
Integer |
参数解释: 在搜索结果中跳过的记录数。可以将此参数与 top_k 参数结合使用以启用分页。 约束限制: 与top_k取值的总和应小于16384。 取值范围: 大于等于0 默认取值: 0 |
|
filter |
否 |
String |
参数解释: 用于过滤匹配entity的标量过滤条件。可以将此设置为空字符串以跳过标量过滤。 约束限制: 要构建标量过滤条件,请参阅filter表达式规则。 取值范围: 不涉及。 默认取值: 空字符串,不进行标量过滤。 |
|
vector |
是 |
Array of floats |
参数解释: 要搜索的向量字段数据。 约束限制: 与collection field schema中定义的对应向量字段的类型和维度一致。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
vector_field |
是 |
String |
参数解释: 要搜索的向量字段名称。 约束限制: 必须是collection field schema中存在的向量字段名称。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
params |
否 |
Map<String,Object> |
参数解释: 额外的搜索参数配置。 可以配置的参数: 约束限制: 不涉及。 取值范围: ef: [top_k + offset, int32_max] search_list: [top_k + offset, int32_max] radius: [0, 1.0] 默认取值: ef: top_k + offset search_list: top_k + offset |
响应参数
状态码:200
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
code |
String |
参数解释: 返回码。参见错误码章节。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
message |
String |
参数解释: 描述信息 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
data |
entities_data object |
参数解释: 响应数据。 约束限制: 不涉及。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
{自定义key} |
Map<String,Object> |
参数解释: collection中的一个基本结构化数据实体,包含向量和标量等字段数据。 约束限制: 必须满足目标collection field schema。 取值范围: 不涉及。 默认取值: 不涉及。 |
状态码:400
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
code |
String |
参数解释: 返回码。参见错误码章节。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
message |
String |
参数解释: 描述信息。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
请求示例
/v1/entities/search
{
"store_name" : "test-storename",
"collection_name" : "test-collection",
"output_fields" : [ "vector", "scalar" ],
"filter" : "pk > 0",
"vector" : [ 0.3123, 0.43, 0.213 ],
"vector_field" : "vector",
"top_k" : 2,
"offset" : 0,
"params" : {
"search_list" : 200
}
}
响应示例
状态码:200
搜索成功
{
"code" : "LMS.00000000",
"data" : {
"entities" : [ {
"distance" : 0.049599655,
"id" : 1,
"scalar" : "文档1",
"vector" : [ 0.324, 0.21, 0.2456 ]
}, {
"distance" : 0.049599655,
"id" : 3,
"scalar" : "文档3",
"vector" : [ 0.324, 0.21, 0.2456 ]
} ]
},
"message" : "search entities success"
}
状态码:400
搜索失败
{
"code" : "LMS.00001001",
"message" : "ErrInvalidParameter : the input parameter is incorrect."
}
状态码
|
状态码 |
描述 |
|---|---|
|
200 |
搜索成功 |
|
400 |
搜索失败 |
错误码
请参见错误码。