하이브리드 검색 Hybrid search
하이브리드 검색은 서로 다른 검색 방식 두 가지 이상을 함께 돌린 뒤 결과를 하나의 순위 목록으로 합치는 기법입니다. 흔히 단어를 그대로 맞춰 보는 '키워드 검색'과 뜻이 비슷한 문서를 찾는 '의미 기반 검색'을 함께 씁니다.
무엇인가
하이브리드 검색은 여러 검색 방법을 하나의 질의에서 함께 실행하고, 각 방법이 내놓은 결과를 하나로 합쳐 순위를 매기는 방식입니다. 가장 흔한 조합은 키워드 검색(어휘 검색)과 의미 기반 검색(벡터 검색)입니다. 키워드 검색은 정확한 단어와 구절을 잘 맞추고, 의미 기반 검색은 질문 뒤에 숨은 의도를 파악하는 데 강합니다. 이 둘을 섞으면 정확성과 폭넓은 검색을 함께 노릴 수 있습니다. 텍스트와 이미지, 위치 정보와 의미 검색처럼 다른 조합도 가능합니다.
어떻게 작동하나
키워드 검색은 보통 BM25라는 채점 방식을 씁니다. BM25는 질문에 들어간 단어가 문서에 얼마나 자주 나오는지, 그리고 그 단어가 전체 문서 모음에서 얼마나 드문지를 따져 점수를 매기며, 문서 길이도 보정합니다. 의미 기반 검색은 문장을 숫자 목록인 임베딩으로 바꾼 뒤, 뜻이 가까운 문서를 찾습니다. 키워드 쪽 표현은 대부분 값이 0인 '희소 벡터', 의미 쪽 표현은 대부분 값이 채워진 '밀집 벡터'라고 부르기도 합니다. 두 방식의 결과는 전용 '융합' 방법으로 합쳐져 하나의 순위 목록이 됩니다.
어떻게 발전해 왔나
BM25는 1970~80년대에 정립된 확률적 검색 이론을 바탕으로 한 오래된 키워드 채점 방식으로, 오랫동안 검색의 기본값 역할을 했습니다. 2020년 'Dense Passage Retrieval for Open-Domain Question Answering' 논문은 질문과 문단을 각각 임베딩으로 바꾸는 간단한 구조만으로도 강한 BM25 시스템보다 관련 문단을 더 잘 찾을 수 있음을 보여, 의미 기반 검색이 실용적이라는 점을 알렸습니다. 이어 2021년 BEIR 논문은 18개의 다양한 데이터셋으로 여러 검색 방식을 비교하는 벤치마크를 만들었는데, 처음 보는 분야에서는 BM25가 여전히 튼튼한 기준선이고 밀집·희소 검색 모델은 일반화가 부족한 경우가 많다는 점을 보여 주었습니다. 이처럼 어느 한쪽이 늘 이기지는 않는다는 결과가 두 방식을 함께 쓰는 하이브리드 검색에 힘을 실어 주었습니다.
왜 중요한가
하이브리드 검색은 각 검색 방식의 약점을 서로 보완해 줍니다. 키워드 검색은 빠르고 결과를 설명하기 쉬우며 제품 코드나 전문 용어처럼 드문 단어에 강하지만, 표현이 달라지면 놓치기 쉽습니다. 의미 기반 검색은 다른 말로 물어도 뜻을 알아듣지만, 정확한 단어 일치가 중요한 경우에는 약할 수 있습니다. 특히 AI 에이전트나 RAG처럼 질문 하나에 아주 관련성 높은 자료를 찾아야 하는 서비스에서는 검색 품질이 답변 품질로 바로 이어지기 때문에 더 중요해졌습니다.
알아 둘 점
두 검색 방식은 점수를 매기는 기준이 서로 달라서, 결과를 합치는 방법과 각 방식에 줄 비중을 데이터에 맞게 조정해야 합니다. 검색을 두 번 돌리므로 시스템이 더 복잡해지고 비용도 늘어날 수 있습니다. 더 높은 정확도가 필요하면 합친 결과를 리랭커로 한 번 더 정렬하기도 하는데, BEIR 연구에서는 이런 재정렬 방식이 평균적으로 성능은 좋지만 계산 비용이 크다는 점도 함께 지적했습니다.
예시
Elasticsearch, Weaviate 같은 검색 엔진과 벡터 DB는 하이브리드 검색을 기능으로 제공합니다. 예를 들어 Weaviate는 BM25(또는 문서 필드마다 가중치를 다르게 줄 수 있는 BM25F)와 벡터 검색을 결합하는 방식이라고 설명합니다. 사내 문서를 검색해 답을 만드는 챗봇이라면, 사용자가 정확한 문서 번호를 물을 때는 키워드 검색이, '휴가 쓰는 방법'처럼 두루뭉술하게 물을 때는 의미 검색이 힘을 보태 하나의 결과 목록으로 전달됩니다.