Skip to main content
공개 노트

Booking.com의 Weaviate 사례가 말하는 것

Views 7약 4분생성형 AI 활용
Summary

Booking.com의 Weaviate 사례가 말하는 것

벡터 검색은 흔히 “의미가 비슷한 문서를 찾는 기술”로 설명됩니다. 하지만 실제 서비스에서는 의미 유사도만으로 충분하지 않습니다. 정확히 일치해야 하는 단어를 놓치지 않아야 하고, 여러 조건으로 결과를 걸러야 하며, 많은 요청을 안정적으로 처리해야 합니다.

Booking.com의 Weaviate 도입 사례가 흥미로운 이유도 여기에 있습니다. Booking.com은 AWS OpenSearch 기반의 키워드 매칭에서 의미 기반 검색으로 확장했고, 이후 복잡한 필터링과 동시성 증가에 대응하기 위해 Weaviate로 마이그레이션했습니다. 파트너-게스트 메시징 에이전트에서는 관련 응답 템플릿을 찾는 데 Weaviate를 활용합니다.1 평가 과정에서는 1억 개 임베딩 규모의 테스트도 수행했습니다.2

이 사례는 단순히 “벡터 DB를 도입했다”는 이야기가 아닙니다. 대규모 RAG와 검색 시스템에서 무엇을 함께 설계해야 하는지 보여주는 사례에 가깝습니다.

핵심은 순수 벡터 검색이 아니라 하이브리드 검색

순수 벡터 검색은 문장의 의미를 일반화해 비슷한 내용을 찾는 데 강합니다. 예를 들어 사용자가 같은 뜻을 다른 표현으로 입력해도 관련 문서를 찾을 수 있습니다.

하지만 모든 검색이 의미 기반으로만 해결되지는 않습니다. 제품 코드, 오류 코드, API 이름처럼 정확히 일치해야 하는 문자열은 벡터 검색에서 약해질 수 있습니다.3 임베딩은 의미를 압축해 표현하기 때문에, 리터럴 문자열 자체가 중요한 검색에서는 신호가 희미해질 수 있습니다.

이때 필요한 것이 하이브리드 검색입니다. 하이브리드 검색은 BM25 키워드 검색과 벡터 유사도 검색을 같은 쿼리에서 실행합니다.3 BM25는 사용자가 입력한 문자열 자체의 랭킹 신호를 유지하는 데 유리하고, 벡터 검색은 표현이 달라도 의미적으로 가까운 결과를 찾는 데 유리합니다.

Weaviate는 하이브리드 검색 결과를 기본적으로 RRF(Reciprocal Rank Fusion) 방식으로 결합합니다.3 또한 alpha 파라미터로 키워드 검색과 벡터 검색의 비중을 조절할 수 있습니다. alpha가 0이면 순수 BM25, 1이면 순수 벡터 검색입니다.3 문서에서는 RAG 워크로드에서 0.5~0.75 범위가 일반적으로 잘 동작한다고 설명합니다.3

즉 하이브리드 검색의 실용적 가치는 명확합니다. “의미가 비슷한 것”과 “문자열이 정확히 맞는 것”을 한쪽으로만 선택하지 않고, 쿼리 목적에 맞게 균형을 조정할 수 있습니다.

대규모 검색에서는 필터링과 운영성이 품질이 된다

Booking.com 같은 서비스에서 검색은 “가장 비슷한 문서 10개”를 찾는 것으로 끝나지 않습니다. 사용자, 언어, 숙소, 대화 맥락 같은 조건을 함께 고려해야 합니다. 동시에 많은 요청을 처리해야 하고, 데이터 수집과 업데이트도 계속 발생합니다.

따라서 대규모 RAG나 메시징 에이전트에서는 세 가지가 함께 중요해집니다.

  1. 의미적으로 관련 있는 결과를 찾는 능력

  2. 정확한 키워드와 식별자를 놓치지 않는 능력

  3. 필터링, 동시성, 인덱싱을 운영 가능한 구조로 처리하는 능력

Weaviate는 객체와 임베딩을 함께 저장하는 Go 기반 오픈소스 벡터 데이터베이스입니다.4 OpenAI, Cohere, Hugging Face, 로컬 트랜스포머를 호출하는 벡터라이저 모듈도 제공합니다.3 또한 수집 시점과 쿼리 시점에 임베딩 생성, BM25 인덱싱, 하이브리드 결합을 한 엔진에서 처리할 수 있습니다.3

이 구조의 장점은 검색 품질 튜닝과 운영 복잡도를 완전히 분리하지 않아도 된다는 점입니다. 벡터 검색, 키워드 검색, 필터링, 결과 결합을 각각 따로 붙이는 대신 하나의 검색 흐름 안에서 다룰 수 있습니다.

Booking.com 사례에서 얻을 수 있는 판단 기준

작은 RAG 시스템에서는 벡터 DB 선택보다 데이터 품질, 문서 분할, 프롬프트 설계가 더 큰 영향을 줄 수 있습니다. 하지만 수천만~수억 개 임베딩, 복잡한 필터, 높은 동시성이 붙으면 검색 엔진의 구조 자체가 제품 품질을 좌우합니다.

Booking.com의 Weaviate 사례에서 볼 수 있는 핵심은 다음과 같습니다.

  • 의미 검색만으로는 충분하지 않다.

  • 키워드 정확도와 벡터 유사도를 함께 다뤄야 한다.

  • 대규모 환경에서는 필터링과 동시성이 검색 품질의 일부가 된다.

  • RAG 시스템은 모델만이 아니라 검색 인프라까지 함께 설계해야 한다.

결국 이 사례는 “벡터 검색 도입” 뉴스라기보다, 검색 시스템이 의미 기반으로 진화할 때 어떤 운영 조건까지 고려해야 하는지를 보여줍니다. RAG나 AI 에이전트를 제품에 적용하려는 팀이라면, 벡터 DB를 고를 때 단순 ANN 성능뿐 아니라 하이브리드 검색, 필터링, 인덱싱, 동시성 처리까지 함께 검토해야 합니다.

1Text Analysis for Hybrid Search and Booking.com Agents

2Booking.com Scales Vector Search With Weaviate For Daily Messaging And RAG

3Weaviate Hybrid Search: Vector + BM25 in One Query

4GitHub - weaviate/weaviate

이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.

틸노트는 사용자가 AI를 활용해 노트를 쉽게 작성하거나 편집할 수 있는 서비스입니다.

AI 스퀘어 단톡방에 함께해요

AI 활용과 틸노트 사용 팁을 나누는 오픈채팅방입니다. 입장 비밀번호는 tilnote입니다.

참여하기