최종 수정: 에
COSINE_DISTANCE_APPROXIMATE
설명
두 벡터 사이의 코사인 거리를 계산합니다. NULL 배열이나 NULL 요소가 있으면 오류가 발생합니다.
이 함수가 포함된 Doris 4.2 빌드에서 사용할 수 있습니다. 조건을 충족하는 Lance Top-N 쿼리는 네이티브 근사 검색을 사용할 수 있으며, 그 밖의 쿼리는 스칼라 커널로 실행됩니다.
구문
COSINE_DISTANCE_APPROXIMATE(<array1>, <array2>)
매개변수
| 매개변수 | 설명 |
|---|---|
<array1> | 숫자 배열입니다. 암시적으로 ARRAY |
<array2> | 숫자 배열입니다. 암시적으로 ARRAY |
반환 값
FLOAT를 반환하며, 값이 작을수록 두 벡터가 가깝습니다. 스칼라 실행에서는 1 - dot(x,y) / (norm(x) * norm(y))를 계산합니다. 두 배열이 모두 비어 있는 경우를 포함해 어느 한쪽의 노름이 영이면 2를 반환합니다. 두 배열의 길이가 다르거나 NULL 배열 또는 NULL 요소가 있으면 NULL을 반환하는 대신 오류가 발생합니다. 네이티브 검색의 후보 적격성, 수치 정밀도, NULL/NaN 처리는 스칼라 실행과 다를 수 있습니다. 자세한 내용은 자동 검색을 참조하세요.
예제
SELECT COSINE_DISTANCE_APPROXIMATE([1,0], [0,1]) AS value;
value
1
SELECT COSINE_DISTANCE_APPROXIMATE([0,0], [1,0]) AS value;
value
2
SELECT COSINE_DISTANCE_APPROXIMATE(NULL, [0,1]);
ERROR: First argument for function cosine_distance_approximate cannot be null
SELECT COSINE_DISTANCE_APPROXIMATE([0,NULL], [0,1]);
ERROR: First argument for function cosine_distance_approximate cannot have null