개발/용어 사전

Hybrid Search란? 벡터 검색과 키워드 검색을 함께 쓰는 이유

cedis 2026. 6. 19. 01:34
AI 응용 기술 용어 정리

Hybrid Search는 의미 기반 검색과 키워드 기반 검색의 약점을 서로 보완하는 방식입니다.

핵심 요약

Hybrid Search는 embedding search와 lexical search를 함께 사용합니다. 자연어 질문도 잘 찾고, 정확한 기술 용어도 놓치지 않기 위한 절충안입니다.

  • Hybrid Retrieval
  • Rank Fusion
  • RRF
  • Vector Search와 BM25 결합

1. 한 줄로 정의하면

Hybrid Search는 semantic search와 keyword search의 결과를 함께 사용해 최종 검색 순위를 만드는 방식입니다.

Hybrid Retrieval
두 개 이상의 검색 방식을 함께 사용하는 검색 구조입니다.
Rank Fusion
여러 검색 결과의 순위를 합치는 방법입니다.
RRF
Reciprocal Rank Fusion. 각 검색기의 순위를 기반으로 점수를 합치는 간단한 fusion 방식입니다.
Candidate Set
최종 rerank 전에 모아둔 후보 문서 목록입니다.

2. 왜 이 개념이 필요했나

semantic search는 표현이 달라도 의미가 가까운 문서를 찾는 데 강합니다. 하지만 정확한 클래스명이나 에러 코드는 놓칠 수 있습니다.

BM25는 정확 단어 검색에 강합니다. 하지만 사용자가 다른 표현으로 질문하면 관련 문서를 놓칠 수 있습니다.

Hybrid Search는 이 둘을 따로 실행한 뒤 결과를 합칩니다. 개발 지식베이스처럼 자연어와 기술 용어가 섞이는 서비스에서는 꽤 현실적인 선택입니다.

3. 동작 흐름

1
Vector Search 실행
query embedding으로 의미가 가까운 문서를 top-k로 찾습니다.
2
Keyword Search 실행
BM25나 lexical search로 정확 단어가 강한 문서를 찾습니다.
3
결과 합치기
겹치는 문서는 더 높은 점수를 주고, 한쪽에만 나온 문서도 후보로 유지합니다.
4
최종 정렬
fusion 점수나 reranker로 최종 순위를 만듭니다.

4. 구조를 그림처럼 보면

순서 흐름
1
Vector Search 실행
query embedding으로 의미가 가까운 문서를 top-k로 찾습니다.
2
Keyword Search 실행
BM25나 lexical search로 정확 단어가 강한 문서를 찾습니다.
3
결과 합치기
겹치는 문서는 더 높은 점수를 주고, 한쪽에만 나온 문서도 후보로 유지합니다.
4
최종 정렬
fusion 점수나 reranker로 최종 순위를 만듭니다.

5. 서비스 예시로 이해하면

지식베이스형 서비스의 초기 버전은 cosine similarity 기반 semantic search로 시작했습니다. 이후 검색 품질을 올리려면 BM25를 붙이고, 두 결과를 RRF 같은 방식으로 합칠 수 있습니다.

예를 들어 'Spring Scheduler fixedDelay embedding job'이라는 query는 의미 검색과 정확 키워드 검색이 모두 중요합니다. Hybrid Search는 이런 복합 query에 유리합니다.

vector_results = [A, B, C]
bm25_results   = [C, D, A]

fusion 결과:
A: vector 상위 + bm25 하위
C: vector 하위 + bm25 상위
D: bm25에서만 발견
B: vector에서만 발견

6. 헷갈리기 쉬운 비교

검색 구조장점한계
Vector only 표현이 달라도 의미가 가까우면 찾음 정확한 키워드가 흐려질 수 있음
BM25 only 정확 용어 검색에 강함 표현이 다르면 놓칠 수 있음
Hybrid 의미와 정확 키워드를 함께 봄 점수 결합과 튜닝이 필요함

7. 실무에서 조심할 점

  • 두 검색 결과를 단순히 이어 붙이면 중복과 순위 왜곡이 생깁니다.
  • 가중치를 잘못 주면 한쪽 검색 방식이 사실상 무시될 수 있습니다.
  • Hybrid Search 후에도 상위 결과 품질이 부족하면 reranker가 필요할 수 있습니다.

이번 글에서 기억할 것

  • Hybrid Search는 vector search와 keyword search를 함께 쓰는 방식입니다.
  • 개발 지식베이스에서는 자연어와 정확 기술 용어가 섞이므로 Hybrid가 현실적입니다.
  • RRF는 여러 검색기의 순위를 합치는 방법 중 하나입니다.

스스로 점검

  • 왜 semantic search만으로 부족할 수 있는가?
  • RRF가 점수 자체보다 순위를 이용한다는 점을 설명할 수 있는가?
  • Hybrid Search가 필요한 지식베이스 검색 예시를 하나 만들 수 있는가?