跳到主要内容

Array 函数

所有 LIST 函数都可用于 ARRAY 数据类型。此外,还支持若干 ARRAY 原生函数。

Array 原生函数

函数描述
array_cosine_distance(array1, array2)计算两个等长数组之间的余弦距离。数组元素不能为 NULL。数组长度可以是任意值,但两个参数的长度必须相同。
array_cosine_similarity(array1, array2)计算两个等长数组之间的余弦相似度。数组元素不能为 NULL。数组长度可以是任意值,但两个参数的长度必须相同。
array_cross_product(array, array)计算两个长度为 3 的数组的叉积。数组元素不能为 NULL
array_distance(array1, array2)计算两个等长数组之间的距离。数组元素不能为 NULL。数组长度可以是任意值,但两个参数的长度必须相同。
array_dot_product(array1, array2)array_inner_product 的别名。
array_inner_product(array1, array2)计算两个等长数组之间的内积。数组元素不能为 NULL。数组长度可以是任意值,但两个参数的长度必须相同。
array_negative_dot_product(array1, array2)array_negative_inner_product 的别名。
array_negative_inner_product(array1, array2)计算两个等长数组之间的负内积。数组元素不能为 NULL。数组长度可以是任意值,但两个参数的长度必须相同。
array_value(arg, ...)创建一个包含参数值的 ARRAY

array_cosine_distance(array1, array2)

| 描述 | 计算两个等长数组之间的余弦距离。数组元素不能为 NULL。数组长度可以是任意值,但两个参数的长度必须相同。 | | 示例 | 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_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.9925834 |

array_cross_product(array, array)

| 描述 | 计算两个长度为 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_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_dot_product |

array_negative_inner_product(array1, array2)

| 描述 | 计算两个等长数组之间的负内积。数组元素不能为 NULL。数组长度可以是任意值,但两个参数的长度必须相同。 | | 示例 | array_negative_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_dot_product |

array_value(arg, ...)

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