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