본문으로 건너뛰기

벡터 검색

Advanced Managed Search는 OpenSearch의 벡터 검색(Vector Search) 기능을 활용하여 고차원 임베딩 기반 유사도 검색을 지원합니다. 전통적인 키워드 검색을 넘어, 텍스트, 이미지, 오디오 등의 임베딩 벡터를 기반으로 근접도 기반 검색을 수행할 수 있는 기능입니다.
벡터 검색은 추천 시스템, 의미 기반 검색, 자연어 질의 처리 등 다양한 머신러닝/AI 기반 서비스에 활용할 수 있습니다.

벡터 검색 개요

벡터란?

벡터(Vector)는 머신러닝 모델 또는 임베딩(Embedding) 기법으로 변환된 고차원 숫자 배열입니다. 해당 벡터들은 데이터 간의 의미적 유사성 또는 거리 정보를 포함하고 있으며, 이를 기반으로 유사한 데이터 검색이 가능합니다.

벡터 검색의 특징

Advanced Managed Search의 벡터 검색을 통해 다음과 같은 기능을 활용할 수 있습니다.

  • 유사도 검색(Similarity Search)

    • 쿼리 벡터(Query Vector)와 저장된 데이터 벡터 간의 거리/유사도를 계산하여 가장 가까운 결과를 찾습니다.
  • 고차원 공간 탐색

    • 벡터 간 유클리디안 거리(Euclidean), 코사인 유사도(Cosine Similarity) 등 다양한 거리/유사도 기준으로 검색 수행이 가능합니다.
  • AI/ML 연계 활용

    • NLP, 이미지 임베딩을 이용한 의미 기반 검색
    • 추천 시스템에서 사용자-아이템 유사도 기반 후보 추천

벡터 검색 워크플로우

벡터 검색은 대체로 다음 흐름으로 구성됩니다.

  1. 데이터 임베딩 생성

    • 텍스트/이미지/오디오 데이터를 벡터로 변환
    • 예: NLP 모델에서 문장을 768차원 벡터로 변환
  2. 벡터 색인(Indexing)

    • 임베딩 벡터를 포함한 문서를 색인
    • 검색을 위해 해당 필드를 벡터 타입으로 매핑
  3. 벡터 질의(Query)

    • 검색 기준이 될 쿼리 벡터 생성
    • 가장 유사한 벡터를 가진 문서를 검색
  4. 결과 반환 및 후처리

    • 정렬, 필터링 등 후처리 수행

벡터 검색 활용 예시

  • 의미 기반 텍스트 검색
  • 이미지 임베딩 기반 유사 이미지 검색
  • 사용자 행동/선호 기반 추천 결과 필터링
  • 질의 확장 또는 자연어 기반 검색

벡터 검색 상세 사용 방법

벡터 검색을 위한 쿼리 작성, 매핑 설정, 색인 구조 등 보다 구체적인 사용 방법과 예제는 OpenSearch 공식 문서를 참고해 주시기 바랍니다.