Querying

먼저 검색 품질 파라미터를 설정한 뒤, ORDER BY … LIMIT k 패턴으로 최근접 이웃을 조회합니다.

-- HNSW 검색 탐색 폭 설정
SET vectoron.hnsw_ef_search = 64;

-- 제곱 유클리드 거리 기준으로 상위 5개 조회
SELECT *
  FROM items
ORDER BY embedding <-> '[3,2,1]'
LIMIT 5;

Operators

벡터 거리 계산에 사용되는 SQL 연산자:

연산자 설명
<-> 제곱 유클리드 거리
<#> 음의 내적
<=> 코사인 거리

Filtering

메타데이터 필터를 함께 사용해 결과를 좁힐 수 있습니다.

SELECT *
  FROM items
 WHERE category_id = 1
 ORDER BY embedding <#> '[0.5,0.5,0.5]'
 LIMIT 10;

Query Options

세션 또는 트랜잭션 단위로 탐색 파라미터를 조정할 수 있습니다.

-- IVF 스캔할 리스트 개수 설정
SET vectoron.ivf_nprobe = 1;

-- 트랜잭션 내에서 HNSW 탐색 깊이 설정
SET LOCAL vectoron.hnsw_ef_search = 40;

-- vamana 탐색 시 beam 크기 설정
SET LOCAL vectoron.vamana_l_search = 32;

Search Modes

  • vbase (기본) 대부분의 상황에 적합하며, PostgreSQL 쿼리 최적화와 벡터 검색을 통합하여 처리합니다.
  • basic Faiss 등 벡터 라이브러리와 동작을 일치시키려는 경우 사용합니다.

    • 사용 전 VACUUM 실행 필요
    • 필터 조건 없이 순수 벡터 검색만 지원
-- basic 모드 활성화 (세션 단위)
SET vectoron.search_mode = 'basic';

This site uses Just the Docs, a documentation theme for Jekyll.