목록 보기
AI 스타일 검색 1편 : OpenSearch Efficient KNN Filtering 도입기
AI

AI 스타일 검색 1편 : OpenSearch Efficient KNN Filtering 도입기

미리디
미리디
2025년 10월 23일

두줄요약

OpenSearch KNN과 필터 조합에서 결과 누락이 발생한 원인을 쿼리 구조에서 찾았습니다. pre-filtering 기반 Efficient KNN Filtering으로 검색 품질과 지연 시간을 함께 개선했습니다.

문제 상황

  • 미리캔버스 AI 스타일 검색에서 수천만 건 요소 중 고객 작업 맥락에 맞는 요소를 추천해야 하는 상황
  • 키워드 노이즈 누적과 채택 데이터 부족으로 검색 결과 누락, 관련성 저하, 지연 시간 증가 발생

원인 분석

  • 채택 이력만 후보군으로 쓰면 롱테일 영역에서 결과가 비는 문제 발생
  • OpenSearch에서 bool filter와 knn 조합이 선 필터가 아니라 후 필터처럼 동작
  • Top-K 제한과 ANN 특성으로 필터 적용 시 후보 유실 확대

해결 방법

  • HNSW의 ef_construction, ef_search를 조정해 검색 품질과 속도 절충
  • filter를 knn 내부로 옮겨 pre-filtering 수행하는 Efficient KNN Filtering 적용
  • 메타데이터 조건을 벡터 검색 이전에 적용해 후보군 축소 후 유사도 정렬

성능/운영 포인트

  • 검색 레이턴시 80ms에서 10ms로 개선
  • 채택률 약 13% 상승
  • 동일 패턴의 다른 기능에도 적용해 채택률 40%에서 60%로 상승

다음 읽기

#검색 주제를 다룬 다른 회사 글

Amazon OpenSearch Service로 미리캔버스의 듀얼 벡터 검색 도입과 성능 최적화

미리캔버스는 OpenSearch에서 시맨틱 벡터와 비주얼 벡터를 함께 쓰는 듀얼 벡터 검색을 도입했습니다. BM25 선필터와 메모리 최적화 인스턴스 전환으로 성능과 정확도를 함께 개선했습니다.

AWS
AWS
백엔드

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...