⌘+k ctrl+k
1.1.3 (stable)
Search Shortcut cmd + k | ctrl + k
Array Functions

所有LIST函数都与ARRAY数据类型一起使用。此外,还支持几个ARRAY原生函数。

数组原生函数

Function Description
array_value(index) 创建一个包含参数值的ARRAY
array_cross_product(array1, array2) 计算两个大小为3的数组的叉积。数组元素不能为NULL
array_cosine_similarity(array1, array2) 计算两个相同大小的数组之间的余弦相似度。数组元素不能为NULL。数组可以有任何大小,只要两个参数的大小相同。
array_cosine_distance(array1, array2) 计算两个相同大小数组之间的余弦距离。数组元素不能为NULL。数组可以有任何大小,只要两个参数的大小相同。这相当于1.0 - array_cosine_similarity
array_distance(array1, array2) 计算两个相同大小的数组之间的距离。数组元素不能为NULL。数组可以有任何大小,只要两个参数的大小相同。
array_inner_product(array1, array2) 计算两个相同大小的数组之间的内积。数组元素不能为NULL。数组可以有任何大小,只要两个参数的大小相同。
array_negative_inner_product(array1, array2) 计算两个相同大小数组之间的负内积。数组元素不能为NULL。数组可以有任何大小,只要两个参数的大小相同。这等同于-array_inner_product
array_dot_product(array1, array2) array_inner_product(array1, array2) 的别名。
array_negative_dot_product(array1, array2) array_negative_inner_product(array1, array2) 的别名。

array_value(index)

描述 创建一个包含参数值的ARRAY
示例 array_value(1.0::FLOAT, 2.0::FLOAT, 3.0::FLOAT)
结果 [1.0, 2.0, 3.0]

array_cross_product(array1, array2)

描述 计算两个大小为3的数组的叉积。数组元素不能为NULL
示例 array_cross_product(array_value(1.0::FLOAT, 2.0::FLOAT, 3.0::FLOAT), array_value(2.0::FLOAT, 3.0::FLOAT, 4.0::FLOAT))
结果 [-1.0, 2.0, -1.0]

array_cosine_similarity(array1, array2)

描述 计算两个相同大小的数组之间的余弦相似度。数组元素不能为NULL。数组可以有任何大小,只要两个参数的大小相同。
示例 array_cosine_similarity(array_value(1.0::FLOAT, 2.0::FLOAT, 3.0::FLOAT), array_value(2.0::FLOAT, 3.0::FLOAT, 4.0::FLOAT))
结果 0.9925833

array_cosine_distance(array1, array2)

描述 计算两个大小相同的数组之间的余弦距离。数组元素不能为NULL。数组可以有任何大小,只要两个参数的大小相同。这相当于1.0 - array_cosine_similarity
示例 array_cosine_distance(array_value(1.0::FLOAT, 2.0::FLOAT, 3.0::FLOAT), array_value(2.0::FLOAT, 3.0::FLOAT, 4.0::FLOAT))
结果 0.007416606

array_distance(array1, array2)

描述 计算两个相同大小的数组之间的距离。数组元素不能为NULL。数组可以有任何大小,只要两个参数的大小相同。
示例 array_distance(array_value(1.0::FLOAT, 2.0::FLOAT, 3.0::FLOAT), array_value(2.0::FLOAT, 3.0::FLOAT, 4.0::FLOAT))
结果 1.7320508

array_inner_product(array1, array2)

描述 计算两个大小相同的数组之间的内积。数组元素不能为NULL。数组可以有任何大小,只要两个参数的大小相同。
示例 array_inner_product(array_value(1.0::FLOAT, 2.0::FLOAT, 3.0::FLOAT), array_value(2.0::FLOAT, 3.0::FLOAT, 4.0::FLOAT))
结果 20.0

array_negative_inner_product(array1, array2)

描述 计算两个大小相同的数组之间的负内积。数组元素不能为NULL。数组可以有任何大小,只要两个参数的大小相同。这相当于-array_inner_product
示例 array_inner_product(array_value(1.0::FLOAT, 2.0::FLOAT, 3.0::FLOAT), array_value(2.0::FLOAT, 3.0::FLOAT, 4.0::FLOAT))
结果 -20.0

array_dot_product(array1, array2)

描述 array_inner_product(array1, array2) 的别名。
示例 array_dot_product(l1, l2)
结果 20.0

array_negative_dot_product(array1, array2)

描述 array_negative_inner_product(array1, array2) 的别名。
示例 array_negative_dot_product(l1, l2)
结果 -20.0