VSIM

语法
VSIM key (ELE | FP32 | VALUES num) (vector | element) [WITHSCORES] [COUNT num] [EF search-exploration-factor]
  [FILTER expression] [FILTER-EF max-filtering-effort] [TRUTH] [NOTHREAD]
可用版本
Redis Open Source 8.0.0
时间复杂度
O(log(N)),其中 N 是 vector set 中的元素数量。

返回与给定向量或元素相似的元素。使用此命令可在 vector set 中执行近似或精确相似性搜索。

你可以使用向量(通过 FP32VALUES num)或引用另一个元素(使用 ELE)进行查询。可选参数允许你控制搜索行为,例如分数输出、结果数量和过滤选项。

VSIM word_embeddings ELE apple
1) "apple"
2) "apples"
3) "pear"
4) "fruit"
5) "berry"
6) "pears"
7) "strawberry"
8) "peach"
9) "potato"
10) "grape"

你可以包含相似性分数并限制结果数量

VSIM word_embeddings ELE apple WITHSCORES COUNT 3
1) "apple"
2) "0.9998867657923256"
3) "apples"
4) "0.8598527610301971"
5) "pear"
6) "0.8226882219314575"

设置 EF(探索因子)以提高召回率,代价是牺牲性能。使用 TRUTH 选项执行精确的线性扫描,这对于基准测试很有用。NOTHREAD 选项在主线程中运行搜索,可能会增加服务器延迟。

必需参数

key

是保存 vector set 数据的 key 的名称。

ELE | FP32 | VALUES num

指定输入向量的提供方式。使用 ELE 引用现有元素,使用 FP32 表示二进制浮点格式,使用 VALUES num 表示浮点值字符串列表。

vector or element

是用作相似性参考的向量数据(对于 FP32VALUES)或元素的名称(对于 ELE)。

可选参数

WITHSCORES

返回每个结果及其相似性分数(从 1 到 0)。分数 1 表示完全相同;分数 0 表示完全相反。

COUNT num

将返回结果的数量限制为 num

EF search-exploration-factor

控制搜索工作量。值越高,探索的节点越多,提高召回率,但会牺牲速度。典型值范围从 50 到 1000。

FILTER expression

应用过滤表达式来限制匹配的元素。请参阅过滤搜索部分了解语法详情。

FILTER-EF max-filtering-effort

限制对 FILTER 表达式的过滤尝试次数。请参阅过滤搜索部分了解更多信息。

TRUTH

强制对所有元素进行精确线性扫描,绕过 HNSW 图。用于基准测试或计算召回率。这会显著变慢 (O(N))。

NOTHREAD

在主线程而非后台线程中执行搜索。适用于小型 vector set 或基准测试。执行期间可能会阻塞服务器。

RESP2 回复

以下之一

RESP3 回复

以下之一


为此页评分
返回顶部 ↑