云搜索服务 CSS-使用向量索引搜索数据:ScriptScore查询

时间:2024-10-08 18:50:00

ScriptScore查询

写入向量数据后,针对向量字段可以使用ScriptScore进行最近邻查询,查询语法如下所示。

前置过滤条件可以为任意查询,script_score仅针对前置过滤的结果进行遍历,计算向量相似度并排序返回。此种查询方式的性能取决于前置过滤后中间结果集的大小,当前置过滤条件为"match_all"时,相当于全局暴力检索。

POST my_index/_search 
 { 
   "size":2, 
   "query": { 
   "script_score": { 
       "query": { 
         "match_all": {} 
       }, 
       "script": { 
         "source": "vector_score", 
         "lang": "vector", 
         "params": { 
           "field": "my_vector", 
           "vector": [1.0, 2.0], 
           "metric": "euclidean" 
         } 
       } 
     } 
   } 
 }
表3 script_score参数说明

参数

说明

source

script脚本描述,使用向量相似度打分时为固定值"vector_score"。

lang

script语法描述,使用固定值"vector"。

field

向量字段名称。

vector

查询向量数据。

metric

度量方式,可选值为:euclidean、inner_product、cosine、hamming。

默认值:euclidean。

support.huaweicloud.com/usermanual-css/css_01_0123.html