실시간 검색

최신 전자상거래 검색창은 단순한 입력란 이상의 기능을 제공합니다. 사용자가 텍스트 입력을 완료하기 전에 올바른 제품으로 안내하는 대화형 동적 어시스턴트입니다. 쿼리 추천, 인기 브랜드, 관련 카테고리, 인기 제품 결과까지 실시간으로 표시되는 자동 완성 검색 (SAYT) 환경은 사용자 참여를 유도하고 전환 가능성을 높입니다.

커머스용 Vertex AI Search는 쿼리 자동 완성 및 제품 검색을 위한 별도의 API를 제공하지만 SAYT 사용자 환경의 최종 구현은 의도적으로 열어둡니다.

상거래를 위한 Vertex AI Search를 사용한 빌드에 관한 이 가이드에서는 Vertex AI Search for Commerce API를 사용하여 강력한 SAYT 위젯을 구현하기 위한 두 가지 기본 설계 패턴을 살펴보고 각 접근 방식의 장단점을 자세히 설명합니다.

핵심 구성요소 이해하기

포괄적인 SAYT 기능을 빌드하려면 상거래를 위한 Vertex AI Search에서 제공하는 두 가지 기본 API를 이해해야 합니다.

  1. CompleteQuery API: 자동 완성 추천의 핵심입니다.

    • 기능: lipst와 같은 입력 문자열이 주어지면 lipstick, lip gloss를 비롯한 추천 쿼리 완성 목록, 관련 인기 브랜드, 관련 카테고리를 반환합니다.
    • 비용: 이 API는 상거래를 위한 Vertex AI Search 패키지 가격에 포함되어 있습니다.
    • 성능: 키 입력별 환경에 필요한 빠르고 지연 시간이 짧은 응답을 위해 설계된 고처리량 API입니다. 이 기능은 스토어의 일일 검색 이벤트를 기반으로 학습된 맞춤법 수정 및 추천과 같은 자동 학습 기능을 활용하여 결과를 도출합니다.
  2. Search API:핵심 제품 검색 엔진입니다.

    • 기능:지정된 쿼리에 대해 관련 제품 결과의 순위가 지정된 목록을 반환합니다.
    • 비용:유료 API이며 사용량이 운영 비용에 직접적인 영향을 미칩니다.
    • 이벤트: 모델 학습 및 분석을 위해 각 Search API 호출은 사용자 행동을 추적하고 시간이 지남에 따라 관련성 모델을 개선하기 위해 검색 이벤트와 페어링하는 것이 좋습니다.

SAYT 환경을 만들려면 이러한 API를 모두 호출하고 결과를 하나의 일관된 사용자 인터페이스로 결합하는 래퍼 API 또는 프런트엔드 로직을 작성해야 합니다.

구현 패턴 1: 직접적이지만 비용이 더 많이 드는 접근 방식

이 방법이 가장 간단하게 구현할 수 있습니다. 이 로직은 키를 누를 때마다 CompleteQuerySearch API를 모두 병렬로 호출하는 것입니다.

흐름

흐름은 다음 순차적 경로를 따릅니다.

  1. 사용자가 l과 같은 문자를 입력합니다.
  2. 애플리케이션이 CompleteQuery API에 l을 보냅니다.
  3. 동시에 애플리케이션은 Search API에 l을 전송합니다.
  4. 결과가 결합되어 표시됩니다.
  5. 사용자가 다른 문자 (l)를 입력하여 쿼리가 li가 됩니다.
  6. 새 쿼리 li에 대해 이 프로세스가 반복됩니다.

alt_text

장점

빠른 구현이 가능하여 로그를 빠르게 작성하고 배포할 수 있다는 장점이 있습니다.

단점

  • 높은 Search API 볼륨: 이 접근 방식은 Search API 호출 수를 크게 늘립니다. 립스틱과 같은 쿼리는 8개의 별도 검색 요청을 트리거하여 볼륨이 크게 증가합니다.
  • 비용 증가: Search API는 유료 서비스이므로 이 높은 볼륨은 운영 비용 증가로 직접 이어져 투자수익 (ROI)을 달성하기가 어려워집니다.
  • 이벤트 관리 복잡성: 정확한 모델 학습 및 측정을 위해 모든 Search API 호출은 해당 검색 이벤트와 함께 로깅되어야 합니다. 호출량이 많으면 모든 이벤트가 캡처되도록 하기 어려워 데이터 손실 및 왜곡된 분석이 발생할 수 있습니다.
  • 품질이 낮을 수 있는 결과: l, li와 같은 한두 글자를 검색하면 노이즈가 많거나 지나치게 광범위한 결과가 반환되어 관련성이 낮은 초기 환경이 발생할 수 있습니다.

이 패턴은 CompleteQuery API를 사용하여 Search API를 호출할 시점을 지능적으로 결정하여 비용, 성능, 관련성을 최적화합니다.

흐름

흐름은 다음 순차적 경로를 따릅니다.

  1. 사용자가 lip과 같은 텍스트 쿼리를 부분적으로 입력합니다.
  2. 애플리케이션이 CompleteQuery API에 lip을 전송합니다.
  3. API는 추천 목록을 반환하며 립스틱이 첫 번째 결과일 가능성이 높습니다.
  4. 애플리케이션은 첫 번째 추천 (lipstick)을 가져와 해당 용어로 Search API를 한 번 호출합니다.
  5. 립스틱에 대한 자동 완성 추천 용어와 제품 결과가 표시됩니다.
  6. 사용자가 lips, lipst, ...를 계속 입력하면 첫 번째 자동 완성 추천이 변경되는 경우에만 새 검색 호출을 실행하는 로직을 추가할 수 있습니다.

장점

  • 상당한 비용 절감: 이 메서드는 Search API 호출 수를 대폭 줄여 비용을 관리합니다.
  • 관리 가능한 API 및 이벤트 볼륨: API 및 이벤트 볼륨을 관리하고 예측할 수 있으므로 모델 학습 및 분석을 위한 데이터의 신뢰성이 높아집니다.
  • 관련성 향상: 더 완전하고 가능성이 높은 검색어를 검색하여 SAYT 위젯에서 더 높은 품질의 제품 결과를 제공합니다.
  • ROI 개선: 비용 절감과 사용자 환경 개선을 통해 투자수익을 높일 수 있습니다.

alt_text

특이 사례 처리

이 접근 방식이 더 우수하지만 몇 가지 특이한 사례를 처리해야 합니다.

  • 추천 없음: CompleteQuery API가 추천을 반환하지 않으면 사용자의 원시 입력으로 Search API를 호출하도록 논리가 대체되어야 합니다.
  • 부분 검색어와 추천 검색어: 드물지만 사용자가 상위 추천 검색어인 아이섀도우가 아닌 부분 검색어인 의 결과를 보고 싶어할 수 있습니다. 이는 사소한 절충안이지만 최적화된 접근 방식은 가장 가능성이 높은 사용자 의도를 우선시합니다.

실험 ID로 성공 측정

선택한 구현과 관계없이 기본 검색 결과 페이지와 별도로 SAYT 위젯의 성능을 측정하는 것이 중요합니다. 두 가지 모두에 동일한 추적을 사용하면 SAYT 기능이 클릭률과 전환을 실제로 개선하는지 확인할 수 없습니다.

SAYT 위젯의 클릭률과 전환율을 구체적으로 측정하려면 기본 검색 이벤트의 측정항목과 구분되는 검색 이벤트에서 고유한 experimentIds를 사용해야 합니다.

  • SAYT 이벤트: 자동 완성 기능에서 발생하는 모든 검색 이벤트에 "experimentId": "sayt-widget"와 같은 특정 ID를 할당합니다.
  • 기본 검색 이벤트: 사용자가 Enter를 누르거나 검색을 클릭하여 기본 검색 결과 페이지로 이동할 때 시작된 검색에는 다른 ID를 사용하거나 ID를 사용하지 않습니다.

이러한 방식으로 이벤트를 분류하면 Vertex AI 콘솔의 분석 대시보드를 사용하여 SAYT 위젯의 실적을 표준 검색 환경과 비교하고 필터링하여 명확하고 실행 가능한 유용한 정보를 얻을 수 있습니다.

결론

상거래를 위한 Vertex AI Search는 자동 완성 검색 환경을 만들기 위한 구성요소를 제공합니다. CompleteQuerySearch API 간의 상호작용을 설계하는 아키텍트 역할을 함으로써 사용자 환경과 성능 간의 연결고리를 만드는 검색 기능을 빌드할 수 있습니다. 대부분의 사용 사례에서 최적화된 접근 방식은 컴퓨팅 집약적인 작업을 피하면서 사용자 관련 환경을 제공합니다.