하이브리드 검색이란 무엇인가요?
하이브리드 검색의 정의
하이브리드 검색은 두 가지 이상의 검색 기술을 검색 알고리즘에 결합하는 강력한 정보 검색 전략입니다.
일반적으로 하이브리드 검색은 고급 머신 러닝 기술을 활용하여 키워드 검색과 시맨틱 검색을 결합합니다. 시맨틱 검색은 텍스트의 의미에 따라 결과를 검색하는 반면, 전체 텍스트 검색은 정확한 단어 일치에 초점을 맞춥니다. 하이브리드 검색은 사용자가 정확한 키워드를 입력하지 않거나 입력할 수 없는 대화형 쿼리와 정확히 기억이 나지 않는 순간에 매우 유용합니다.
키워드 검색과 시맨틱 검색 모두 고유한 강점이 있습니다. 키워드 검색은 순위 알고리즘과 특정 용어를 사용하여 문서가 검색 쿼리와 얼마나 관련성이 있는지를 결정합니다. 시맨틱 검색은 검색 쿼리를 받아 문맥을 고려합니다.
하이브리드 검색은 시맨틱 검색과 전통적인 검색의 강점을 결합하여 검색 정확도를 향상시킵니다. 하이브리드 검색은 의미론적 이해와 정확한 검색어 간의 균형을 유지하면서 사용자 검색 환경을 개선하는 결과를 제공합니다.
하이브리드 검색의 구성 요소

하이브리드 검색은 키워드, 어휘 또는 BM25(관련성을 결정하는 순위 알고리즘)와 시맨틱 검색을 결합한 것입니다. 시맨틱 검색은 검색을 통해 무엇을 달성할 수 있는지에 중점을 두는 반면, 벡터 검색은 주로 벡터 표현을 사용하여 데이터를 검색함으로써 결과를 얻는 방법에 중점을 둡니다.
시맨틱 검색
시맨틱 검색은 의미와 맥락을 이해하는 것이 핵심입니다. 이러한 유형의 검색은 BM25 검색처럼 단순히 키워드를 일치시키는 것이 아니라 쿼리 내 단어의 의도를 파악하는 데 중점을 둡니다. 시맨틱 검색은 언어의 가변성과 모호성을 고려하여 사람의 질의와 실제 의미 사이의 간극을 메워줍니다. 자연어 처리(NLP), 머신 러닝, 지식 그래프 및 벡터를 활용하여 사용자의 의도와 더욱 관련성이 높고 컨텍스트를 통합한 결과를 제공합니다.
시맨틱 검색은 문맥을 파악하기 위해 알려진 사용자 데이터, 위치 또는 과거 검색 기록을 사용하여 관련 검색 결과를 결정할 수 있습니다. 미국에서 "football"을 검색하면 다른 지역에서 같은 검색어를 입력했을 때와 다른 결과가 나옵니다. 시맨틱 검색은 사용자의 지리적 위치에 따라 의도를 구별합니다.

벡터 검색
벡터 검색은 숫자 표현 또는 벡터를 사용하여 텍스트, 이미지 또는 오디오와 같은 항목을 표현하고 유사성을 기반으로 데이터를 검색하는 기술 검색 방법입니다. 이러한 벡터는 이러한 항목의 기본 의미 또는 특징을 포착합니다. 벡터 검색은 벡터 표현의 유사성을 측정하여 데이터를 검색합니다.

접근 방식 결합
시맨틱 검색과 벡터 검색은 많은 공통점을 가지고 있으며, 실제로 시맨틱 검색은 벡터 검색에 의해 구동됩니다.
쿼리가 실행되면 검색 엔진은 쿼리를 벡터 임베딩으로 변환합니다. kNN 알고리즘(k-nearest neighbor algorithm)과 같은 알고리즘은 기존 문서의 벡터를 쿼리 벡터와 일치시킵니다. 그런 다음 알고리즘은 개념적 관련성을 기반으로 결과를 생성합니다.
시맨틱 검색과 벡터 검색이 함께 작동하면 플랫폼은 다국어 검색과 비정형 데이터가 필요한 검색을 포함한 복잡한 쿼리를 처리할 수 있습니다.
하이브리드 검색이 작동하는 방식
하이브리드 검색은 키워드 검색과 벡터 검색을 혼합하여 포괄적인 검색 결과를 제공합니다. 벡터 임베딩은 문장이나 사진과 같은 데이터를 그 의미와 관계를 파악할 수 있는 숫자로 변환합니다. 데이터는 토큰화되고 색인화되며 숫자 임베딩으로 표시됩니다. 벡터 검색은 비정형 데이터에서 의미를 포착할 수 있습니다. 벡터 검색은 키워드 검색의 한계를 극복하여 사용자가 정확한 설명이나 정확한 키워드를 기억하지 못하더라도 그 의미로 검색할 수 있게 해줍니다. 하이브리드 검색은 밀집 벡터와 희소 벡터를 모두 구문 분석하여 가장 관련성 높은 결과를 얻을 수 있습니다.
밀집 벡터
밀집 벡터는 시맨틱 이해와 문맥 쿼리를 처리합니다. 최신 머신러닝에서는 특히 임베딩 생성과 같은 작업에 일반적으로 사용됩니다.
희소 벡터
희소 벡터는 기존의 키워드 기반 인덱싱을 처리하며 정보가 희소하게 채워집니다. 이 벡터들은 대규모 데이터 세트에 일반적으로 사용됩니다.
쿼리 처리
하이브리드 검색의 쿼리 처리는 정확한 키워드 매칭과 우선순위 지정을 위해 희소 벡터를 사용하고, 문맥적 의미와 의도를 파악하여 의미 이해를 위해 밀집 벡터를 사용합니다. 하이브리드 검색은 이 두 가지 유형의 벡터를 결합하여 구체성과 연관성의 균형을 이루는 포괄적인 검색 결과를 제공합니다. 결과를 달성하기 위해 하이브리드 검색은 상호 순위 결합(RRF)을 사용하여 각각 다른 관련성 지표를 가진 여러 결과 집합을 단일 결과 집합으로 결합합니다.
하이브리드 검색의 장점
하이브리드 검색은 다양한 검색 방법의 결합된 강점을 활용하여 기존 검색보다 사용자에게 더 많은 이점을 제공합니다. 가장 큰 장점은 더 적은 노력으로 더 정확한 검색 결과를 제공한다는 점입니다.
업계 전반에서 내부 및 외부 검색 알고리즘은 하이브리드 검색을 사용하여 관련성 높은 결과를 표시할 수 있습니다. 예를 들어, 이커머스 플랫폼은 "주머니가 있는 빨간 드레스"와 "열쇠와 돈을 넣을 수 있는 고급 레스토랑에서의 첫 저녁 데이트용 빨간 드레스"라는 검색을 구분할 수 있습니다.
또 다른 예로, 기업의 내부 복리후생 문서에서 "dogs"를 검색하면 "사무실 반려동물 정책"이라는 결과가 나올 수 있습니다. 특정 단어가 쿼리에 나타나지 않을 수 있지만 사용자가 찾고 있던 답변일 수 있습니다.
전반적으로 하이브리드는 언어적 유연성 덕분에 사용자 검색 경험을 향상시킵니다. 하이브리드 검색은 의미론적 이해와 정확한 쿼리 용어의 균형을 맞춰 검색 정확도를 향상시킵니다. 따라서 대화형 및 복잡한 쿼리를 효율적으로 처리하여 막다른 상황과 사용자 불만을 예방할 수 있습니다.
RAG를 사용한 하이브리드 검색
검색 증강 생성(RAG)은 개인 또는 독점 데이터 소스를 사용하여 LLM의 원래 지식 기반을 보완하는 컨텍스트를 제공하는 검색 기술입니다. RAG는 생성형 AI 시스템이 외부 정보 소스를 사용하여 보다 관련성 높은 응답을 생성할 수 있기 때문에 쿼리에 유용합니다.
RAG와 함께 하이브리드 검색을 사용하고 추가 데이터 소스를 가져오면 컨텍스트를 추가하여 검색 환경의 관련성을 향상시킬 수 있습니다. 추가 정보 소스에는 인터넷의 새로운 정보부터 독점 또는 기밀 비즈니스 문서에 이르기까지 조직이나 고객이 쿼리에 답변하는 데 필요할 수 있는 모든 것이 포함될 수 있습니다.
RAG는 독립적으로 작동하는 언어 모델에 비해 여러 가지 이점을 제공합니다. 비용 효율적이고, 컴퓨팅 및 저장 공간이 덜 필요하며, 모델이 최신 정보에 액세스할 수 있도록 합니다.

Elastic을 사용한 하이브리드 검색
Elastic은 시맨틱 검색을 기본으로 지원하여 하이브리드 검색을 쉽게 구현할 수 있습니다. Elastic을 사용하면 하나의 플랫폼, 하나의 API에서 하이브리드 검색을 처음부터 더 나은 정확도로 속도와 확장성으로 수행할 수 있습니다.
개발자는 Elastic의 플레이그라운드를 사용하여 로우코드 인터페이스에서 자신의 개인 데이터로 자신이 선택한 기초 LLM을 탐색할 수 있습니다.
Elastic은 개발자가 새로 도입된 쿼리 검색기(표준, kNN, RRF)를 통해 쿼리 구성을 간소화할 수 있도록 지원합니다. 이러한 쿼리를 사용하면 Elastic은 선택한 데이터를 이해하고 통합 쿼리를 자동으로 생성합니다.