类别:

向量相似性函数

VECTOR_L2_DISTANCE

计算两个 向量 之间的 L2 距离。

L2 距离,又称欧几里得距离,是向量空间中两个向量之间距离的度量。该距离通过对向量元素平方差之和取平方根来计算。该距离可以是零或更大值。如果距离为零,则向量相同。距离越大,向量之间的距离越远。

另请参阅:

VECTOR_INNER_PRODUCTVECTOR_COSINE_SIMILARITY向量嵌入

语法

VECTOR_L2_DISTANCE( <vector>, <vector> )
Copy

实参

vector

计算距离起始值的 VECTOR 值。

vector

计算距离结束值的 VECTOR 值。

返回

FLOAT 值返回两个输入向量之间的距离。

使用说明

  • 由于对向量比较函数进行了计算优化,浮点误差可能会比通常情况下稍大(例如约 1e-4)。

示例

此示例使用 VECTOR_L2_DISTANCE 函数确定表中哪些向量在列 ab 之间彼此最接近:

CREATE TABLE vectors (a VECTOR(FLOAT, 3), b VECTOR(FLOAT, 3));
INSERT INTO vectors SELECT [1.1,2.2,3]::VECTOR(FLOAT,3), [1,1,1]::VECTOR(FLOAT,3);
INSERT INTO vectors SELECT [1,2.2,3]::VECTOR(FLOAT,3), [4,6,8]::VECTOR(FLOAT,3);

-- Compute the pairwise inner product between columns a and b
SELECT VECTOR_L2_DISTANCE(a, b) FROM vectors;
Copy
+------+
| 2.3  |
|------|
| 6.95 |
+------+
语言: 中文