向量距离计算接口
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=# SELECT vector_spherical_distance('[1,0,0,0]', '[0,0,0,1]');
如果输入向量非归一化,无法获得正确的计算结果。