하이브리드 검색은 키워드 검색과 벡터 검색 등 서로 다른 검색 방식의 결과를 결합하는 방법입니다. 대표적으로 키워드 검색과 벡터 검색을 각각 실행한 뒤 결과를 하나의 순위 목록으로 합칩니다. 정확한 용어를 찾는 검색과 의미가 비슷한 내용을 찾는 검색이 서로 놓친 자료를 보완하도록 구성합니다.
키워드와 의미, 서로 다른 강점
키워드 검색과 벡터 검색은 잘 찾는 자료와 놓치는 자료가 서로 다릅니다.
- 키워드(어휘) 검색: 상품 코드, 고유명사, 전문용어, 날짜처럼 특정 표현을 정확히 찾는 데 강합니다. 동의어나 다른 표현을 처리하도록 설정하지 않았다면 뜻이 같은 문서를 놓칠 수 있습니다.
- 벡터(의미) 검색: 질문과 문서를 임베딩이라는 수치 표현으로 바꾸고, 벡터 사이의 유사도를 비교합니다. 단어가 겹치지 않아도 관련 문서를 찾을 수 있지만, 의미가 비슷한 다른 제품이나 주제의 문서가 함께 검색될 수도 있습니다.
Azure는 상품 코드와 사람 이름 등을 찾는 질의에서 키워드 검색이 더 나은 결과를 낼 수 있다고 설명합니다. Elastic도 어휘 검색의 정확한 용어 일치와 벡터 검색의 의미 유사성이 서로 보완된다고 안내합니다.
결과를 합치는 방법
키워드 검색의 점수와 벡터 유사도는 계산 기준과 값의 범위가 다릅니다. 그대로 더하면 한쪽 점수만 크게 반영될 수 있으므로 순위를 이용하거나 점수를 정규화한 뒤 결합합니다.
- RRF(Reciprocal Rank Fusion): 각 목록에서 문서마다 **1 / (순위 상수 + 해당 문서의 순위)**를 계산해 더하고, 합계가 큰 순서로 정렬합니다. 원점수 대신 순위를 쓰므로 서로 다른 점수를 정규화할 필요가 없습니다. 순위 상수는 낮은 순위의 문서가 최종 결과에 얼마나 영향을 줄지 조절합니다.
- 가중 결합: 두 검색의 점수를 비교할 수 있는 범위로 정규화한 뒤 가중치를 곱해 더합니다. Weaviate의 알파값처럼 키워드 검색과 벡터 검색을 얼마나 반영할지 조정하는 설정이 여기에 쓰입니다. 정확한 제품 코드가 밀려나는지, 표현이 다른 관련 문서를 놓치는지 평가하면서 가중치를 조절합니다.
RRF는 여러 결합 방법 중 하나입니다. 결합한 후보에 리랭커를 적용해 관련도를 다시 평가하는 단계도 추가할 수 있습니다.
어휘 검색에는 단어가 들어 있는 문서의 목록을 저장하는 역색인이 널리 쓰입니다. 단어에 가중치를 부여해 희소 벡터로 나타내는 검색 방식도 있습니다. 하이브리드 검색에 어떤 검색기를 결합할지에 따라 이런 구현을 선택할 수 있습니다.
RAG의 자료 검색에 적용하는 방법
RAG에서는 하이브리드 검색으로 고른 자료를 모델이 답변할 때 참고하도록 제공합니다. 벡터 데이터베이스에서 의미가 비슷한 문서를 찾는 동시에 키워드 검색으로 제품명, 코드나 특정 수치가 일치하는 문서를 찾아 후보를 합칠 수 있습니다.
제품 검색의 예시와 평가 방법
사내 제품 검색에 “AB-120 배터리 교체”를 입력했다고 가정하겠습니다.
- 키워드 검색은 정확한 모델명
AB-120이 들어간 설명서를 우선 찾습니다. - 벡터 검색은 “전원 장치 교환 방법”처럼 표현이 다른 관련 문서를 찾을 수 있습니다.
- 하이브리드 검색은 두 결과를 합쳐 정확한 모델 설명서와 의미상 관련된 정비 안내를 함께 후보로 만듭니다.
성능을 평가할 때는 대표 질문마다 관련 문서를 정해 두고, 세 검색 방식에서 같은 개수의 상위 결과를 비교합니다. 관련 문서를 얼마나 빠짐없이 찾았는지는 재현율로, 찾은 결과 중 관련 문서의 비율은 정밀도로 평가합니다. 정확한 코드를 묻는 질문과 자연어로 용도를 설명하는 질문을 나누면 어느 쪽 검색이 부족한지 파악하기 쉽습니다.
두 결과를 합쳤다고 항상 더 정확해지는 것은 아닙니다. 해당 제품에 적용되지 않는 정비 안내가 높은 순위에 섞였다면, 후보를 많이 찾았더라도 사용자에게는 잘못된 안내가 될 수 있습니다. 결합 후 상위 결과의 관련성까지 확인해야 합니다.
콘텐츠에서는 어떻게 활용하나
콘텐츠에서는 제품명과 코드를 정확히 적고, 어떤 용도와 조건에 해당하는 정보인지 문장으로 설명할 수 있습니다. 정확한 명칭은 키워드 검색의 단서가 되고, 용도와 조건의 설명은 의미를 비교하는 시맨틱 검색에서 관련성을 판단할 자료가 됩니다. 이는 두 검색 방식의 특성을 콘텐츠 작성에 적용한 AVCD의 해석입니다.
자체 검색과 RAG에서는 검색 로그와 평가 질문으로 이런 구성의 효과를 시험할 수 있습니다. 다만 이들 검색 제품의 문서가 Google, 네이버, ChatGPT나 Claude의 내부 결합 방식까지 설명하지는 않습니다. 특정 가중치나 RRF 공식을 외부 서비스의 노출 규칙으로 적용할 근거는 되지 않습니다.
자주 묻는 질문
의미 검색이 결국 키워드 검색을 대체하지 않나요?
상품 코드나 고유명사를 정확히 찾는 질문에서는 키워드 검색이 더 나은 결과를 낼 수 있습니다. 하이브리드 검색은 이런 강점을 의미 검색과 함께 활용합니다.
하이브리드 검색은 항상 더 정확한가요?
항상 더 정확하지는 않습니다. 두 결과를 합치면서 관련 없는 문서가 상위에 섞일 수도 있습니다. 실제 서비스의 질문으로 정밀도와 재현율을 측정하고 결합 방식과 가중치를 조정해야 합니다.
RRF가 뭔가요?
여러 검색 결과의 순위를 합치는 방법입니다. 각 목록에서 높은 순위에 있는 문서에 큰 점수를 주고 합산하므로, 서로 다른 검색 점수를 같은 척도로 바꾸지 않아도 됩니다.
SEO 콘텐츠를 쓸 때 어떻게 참고하나요?
브랜드명과 제품명은 일관된 표기로 쓰고, 용도와 적용 조건을 분명하게 설명합니다. 정확한 명칭과 의미를 파악할 문맥을 모두 제공하는 방법입니다.
함께 알아두면 좋은 용어
- 시맨틱 검색: 단어 일치뿐 아니라 의미상의 관련성을 바탕으로 찾는 검색
- 벡터 데이터베이스: 벡터를 저장하고 유사한 벡터를 검색하는 데이터베이스
- 임베딩: 텍스트 등의 의미와 특징을 벡터로 나타낸 수치 표현
- RAG: 외부 자료를 검색해 생성 모델의 답변 근거로 제공하는 방식