이 튜토리얼에서는 동일한 쿼리 조건에 대해 전체 텍스트 검색과 시맨틱 검색을 집계한 하이브리드 검색을 시연합니다. 전체 텍스트 검색은 쿼리 텀에 대한 정확한 일치를 찾는 데 효과적인 반면, 시맨틱 검색은 문서에 정확한 쿼리 텀이 포함되어 있지 않더라도 의미적으로 유사한 문서를 식별할 수 있는 추가 이점을 제공합니다. 이를 통해 동의어나 맥락적으로 유사한 결과도 두 검색 방법을 결합한 결과에 포함될 수 있습니다.
반대로 데이터 세트에 고유 명사나 특정 키워드에 대한 토큰이 포함되어 있다면 이러한 토큰이 데이터 세트에서 사용되는 동일한 맥락에서 임베딩 모델의 학습에 고려되지 않기를 원할 수 있습니다. 이 경우 벡터 검색을 전체 텍스트 검색과 결합하면 더 나은 결과를 얻을 수 있습니다.
또한 쿼리별로 각 검색 방법에 대한 가중치를 설정할 수 있습니다. 전체 텍스트 또는 시맨틱 검색 결과가 쿼리에 가장 관련성이 높고 적절한지 여부에 따라, 쿼리별로 해당 검색 방법의 가중치를 높일 수 있습니다.
또는 $rankFusion $scoreFusion 단계 $rerank 이후 단계를 사용하여 쿼리와의 관련성을 기준으로 결과에서 문서 순서를 변경할 수 있습니다. $rerank 단계는 Voyage AI 재순위 모델을 기준으로 문서 순서를 변경합니다.
튜토리얼 소개
이 튜토리얼에서는 영화에 대한 세부 정보가 포함된 sample_mflix.embedded_movies 컬렉션 에서 MongoDB Vector Search와 MongoDB Search 쿼리를 결합한 하이브리드 검색 실행 통합 검색 결과를 얻는 방법을 보여 줍니다. 구체적으로 이 튜토리얼에서는 다음 단계를 안내합니다.
plot_embedding_voyage_4_large필드 에 MongoDB Vector Search 인덱스 생성합니다. 이 필드 에는 영화 줄거리의 요약을 나타내는 벡터 임베딩이 포함됩니다.sample_mflix.embedded_movies컬렉션 의fullplot필드 에 MongoDB Search 인덱스 만듭니다. 이 필드 에는 영화 이름이 텍스트 문자열로 포함됩니다.$rankFusion또는$scoreFusion를 사용하는 쿼리를 실행하여plot_embedding_voyage_4_large필드에 대한$vectorSearch쿼리 결과와fullplot필드에 대한$search쿼리 결과를 결합한 다음$rerank단계를 사용하여 쿼리의 관련성에 따라 결과의 문서를 다시 정렬합니다.
전제 조건
시작하기 전에 전제 조건을 완료하세요.