AI 스타일 검색 2편 : 듀얼 벡터 검색과 OpenSearch 3.3 버전업

1
AI 요약

이 글은 AI가 원문을 분석하여 핵심 내용을 요약한 것입니다.

이 게시물은 듀얼 벡터 검색을 설계하고 OpenSearch 3.3로 버전업하며 운영 이슈를 해결한 여정 공유입니다.

듀얼 벡터 검색 배경

  • 기존 유저픽 기반 키워드 프리필터는 롱테일에 후보군이 비는 한계와 키워드 품질 불일치로 정확도 문제가 남아 의미 기반 벡터가 필요해짐
  • SigLIP 시맨틱 벡터를 추가해 의미+스타일을 동시에 만족하도록 듀얼 벡터 쿼리로 확장

Rescore 대신 듀얼 벡터 쿼리 선택

  • rescore는 1차 후보군 품질과 window_size 제약에 종속되고 min_score는 radial search 전환으로 결과 수 제어가 어려워 도입 포기
  • 듀얼 벡터 쿼리는 두 벡터를 동시에 k=200 탐색하며 정확도가 압도적으로 좋아 최종 선택

성능·UX 개선 및 인프라 병목 해결

  • 듀얼 벡터 적용으로 채택률이 약 +9%p, UX 변경으로 사용자 사용량 약 5배 및 직접 검색 채택률 +17.38%p 달성
  • 레이턴시·IOPS 폭증 원인을 쿼리 연산이 아닌 OS 메모리 부족/스래싱으로 판단하고 Memory Optimized 인스턴스로 전환해 IOPS(MAX) 34% 및 레이턴시 21% 개선
  • 추가로 일괄 업데이트 시 세그먼트 병합 폭발이 남아 OpenSearch 3.3의 Derived Source와 concurrent segment search 등 변경사항을 사전 검증 후 버전업 결정

연관 게시글