向量查询
功能介绍
基于相似度匹配的查询方式,用于查找与给定查询向量相似的向量。返回指定的 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: topk_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 |
搜索失败 |
错误码
请参见错误码。