> ## Documentation Index
> Fetch the complete documentation index at: https://docs.platform.nora.my/llms.txt
> Use this file to discover all available pages before exploring further.

# 하이브리드 검색

> 시맨틱 유사도와 키워드 매칭을 결합 — 둘의 장점 모두.

Nora 리트리벌은 기본적으로 **하이브리드 검색** 을 씁니다: 두 독립 랭킹 패스 (벡터·키워드) 를 하나의 최종 점수로 융합. 둘 중 하나만 쓰는 것보다 더 잘 동작합니다.

## 왜 하이브리드

* **벡터 검색** 은 의미가 비슷한 청크를 찾음 — 표현이 달라도. 패러프레이즈된 질문, 언어 간, 개념 매치에 좋음. 드문 정확한 용어 — SKU, 에러 코드, 고유명사 — 에는 약함.
* **키워드 (BM25) 검색** 은 같은 리터럴 용어를 가진 청크를 찾음. 식별자, 전문 용어, 정확한 문자열 조회에 좋음. 동의어·패러프레이즈에 약함.

실제 질문 대부분은 둘 다 필요.

## 융합 원리

벡터와 키워드가 각각 랭크된 목록을 생성. Nora 는 **Reciprocal Rank Fusion (RRF)** 로 결합 — 두 목록 모두에서 3위인 청크가 한 목록에서 1위이고 다른 목록에서 100위인 청크보다 더 높게 점수. RRF 는 점수 스케일 차이에 강건하고 튜닝할 매직 상수가 없음.

융합된 목록이 Agent 가 보는 것.

## 균형 조정

RRF 를 쓰더라도 패스에 가중치를 줄 수 있음. 리트리벌 프리셋에서:

* **Vector weight** — 0.0 \~ 1.0. 기본 0.5.
* **Keyword weight** — 0.0 \~ 1.0. 기본 0.5.

대화형 도메인 (지원, 법률 Q\&A) 은 벡터 쪽으로. 코드, 부품 번호, 제품명은 키워드 쪽으로.

한 가중치를 0 으로 두면 그 패스가 완전 꺼짐 (순수 벡터 또는 순수 키워드).

## 쿼리 확장

어려운 쿼리 — 짧고, 모호하고, 단일 키워드 — 에 대해 Nora 는 쿼리를 작은 변형 세트로 재작성하고 각각 검색 가능. 결과는 재융합. 지연과 비용이 추가돼 기본 오프.

프리셋에서 켜기: **Query expansion → on**. 확장 개수 (2-5) 설정. 작은 모델 사용.

## 다국어

임베딩 모델이 다국어면 벡터 검색은 언어 간 동작. 키워드 검색은 표면 언어만 매치. 데이터가 다국어면 다국어 모델로 임베딩하고 가중치를 벡터 쪽으로.

## 테스트

모든 리트리벌 프리셋은 **Test query** 패널을 가짐. 쿼리 입력, 랭크된 결과 확인, 벡터 전용 / 키워드 전용 / 하이브리드 토글로 비교. 반환된 모든 청크에 점수 분해 표시.

## 하이브리드가 과할 때

매우 작은 컬렉션 (\< 1000 청크) 은 키워드만으로 충분하고 추가 비용 없음. 매우 짧고 키워드 위주의 쿼리 (SKU 조회) 는 키워드만이 같은 리콜로 더 빠름. 그런 프리셋은 벡터를 끄세요.
