更新时间:2024-06-03 GMT+08:00

向量距离计算接口

l2_distance

功能说明:计算两个向量的欧式距离。

入参1的类型:floatvector

入参2的类型:floatvector

出参类型:float8

代码示例

gaussdb=# SELECT l2_distance(floatvector('[1,2,3]'), floatvector('[5,-1,3.5]'));
gaussdb=# SELECT l2_distance('[1,2,3]',  '[5,-1,3.5]');

vector_l2_squared_distance

功能说明:获得两个向量的欧式距离的平方。

入参1的类型:floatvector

入参2的类型:floatvector

出参类型:float8

代码示例

gaussdb=# SELECT vector_l2_squared_distance(floatvector('[1,2,3]'), floatvector('[5,-1,3.5]'));
gaussdb=# SELECT vector_l2_squared_distance('[1,2,3]',  '[5,-1,3.5]');

cosine_distance

功能说明:计算两个向量的余弦距离

入参1的类型:floatvector

入参2的类型:floatvector

出参类型:float8

代码示例

gaussdb=# select cosine_distance(floatvector('[1,2,3]'), floatvector('[5,-1,3.5]'));
gaussdb=# select cosine_distance('[1,2,3]', '[5,-1,3.5]');

vector_spherical_distance

功能说明:计算两个归一化向量的球面距离(余弦夹角的弧度制表示)

入参1的类型:floatvector

入参2的类型:floatvector

出参类型:float8

代码示例

gaussdb=# gaussdb=# select vector_spherical_distance('[1,0,0,0]', '[0,0,0,1]');

如果输入向量非归一化,无法获得正确的计算结果。