검색 및 탐색

이 문서에서는 AI 커머스 검색의 검색 기능과 탐색 기능의 차이점을 명확히 하여 각 기능을 효과적으로 구성하고 최대한 활용하는 방법을 살펴봅니다.

핵심 차이점 이해하기

검색과 탐색은 고객이 제품을 찾는 데 도움이 되지만, 사용자 여정이 다르므로 별도의 구성이 필요합니다.

사용자 의도에 따라 쇼핑객이 빨간색 러닝화와 같은 특정 쿼리를 입력합니다. AI 커머스 검색은 이 쿼리를 분석하여 사용자의 요구사항을 파악하고 수익에 최적화된 관련 제품을 반환합니다.

간단히 말해 검색의 경우 AI Commerce Search는 제품의 관련성과 순위 (수익 최적화)를 담당합니다.

찾아보기

사전 정의된 카테고리를 기반으로 하며, 쇼핑객이 남성 의류 카테고리의 셔츠와 같이 브랜드, 카테고리, 프로모션과 같은 속성별로 정리된 제품 등록정보를 탐색합니다. 이러한 카테고리를 정의하고 제품을 표시합니다.

등록된 제품의 관련성 (필터 사용)은 판매자가 책임지고, AI 상거래 검색은 순위 (수익 최적화)를 책임집니다.

검색 및 탐색 구성

AI 커머스 검색의 장점은 검색 요청과 둘러보기 요청 모두에 대한 통합 API에 있습니다.

검색 구성

검색의 사용자 이벤트에는 사용자 이벤트의 다른 표준 필수 필드 (eventType = "search")와 함께 다음 필드가 있어야 합니다.

  • 텍스트 쿼리: 검색 요청의 핵심입니다. 사용자의 검색 의도를 파악합니다.
  • 필터 (선택사항): 사용자가 브랜드, 가격대, 색상과 같은 패싯을 적용하여 검색 결과를 세분화할 수 있도록 합니다.
  • 순위 지정 및 맞춤설정: AI Commerce Search는 관련성과 잠재적 수익을 기반으로 검색 결과의 순위를 자동으로 최적화합니다. 맞춤설정은 개별 사용자 행동에 따라 결과를 더욱 맞춤화합니다.

  # Construct the search request
  search_request = {
      "query": "red running shoes", # User's search query
      "filter": "brand:ANY('Nike')", # Optional filter
      "page_size": 10 # Number of results per page
  }

# Send the request to the VAIS:Commerce API search_response = client.search(search_request)

# Process the search results for product in search_response.results: print(product.title, product.price)

텍스트 쿼리 검색, 탐색 검색, 페이지로 나누기, 최적화, 맞춤형 결과 등 검색을 사용한 기본 쿼리는 검색 결과 가져오기를 참고하세요.

탐색 구성

탐색 검색의 사용자 이벤트에는 사용자 이벤트의 다른 표준 필수 필드 (탐색 이벤트의 경우 eventType = "search")와 함께 다음 필드가 있어야 합니다.

  • 페이지 카테고리: page_categories는 제품이 표시되는 카테고리 또는 배너를 나타냅니다. 하지만 실제 클라이언트 라이브러리나 이전 API에서는 이 필드가 단수 page_category로 표시될 수도 있습니다. 복수는 카탈로그의 categories[]와 동일해도 됩니다. 필터가 나타내는 카테고리를 나타내기만 하면 됩니다.

  • 필수 필터: 탐색 결과에 포함될 제품의 기준을 정의합니다. 이렇게 하면 관련 제품만 카테고리에 표시됩니다.

  • 이벤트와 요청 간의 정렬: 탐색 작업에 해당하는 사용자 이벤트에는 API 요청에 전달된 것과 일치하는 동일한 page_categories 및 필터 값이 포함되어야 합니다.

  • 동일한 값으로 탐색 및 필터 설정: pageCategories (탐색) 및 attributes.pageCategories (필터) 필드를 동일한 값으로 설정하려면 검색 불가능한 attributes.pageCategories 객체를 만들고 이 제품이 표시되어야 하는 모든 페이지를 나열하여 필터링을 용이하게 합니다.

탐색 필터의 경우 이러한 예에 표시된 category 또는 categoryid과 같은 필드는 일반적으로 사용자가 제공하는 맞춤 속성입니다.

다음은 앞에서 설명한 다양한 탐색 요청 옵션의 네 가지 예입니다. (형식 하나만 선택하세요.)

  # a browse request with a custom category attribute
  browse_request = {
      "page_categories": ["Men's > Clothing > Shirts"], # Represents full taxonomy Path on the site
      "filter": "category:ANY('Shirts') AND gender: ANY('Male')", # Compulsory filter on custom attribute
      "page_size": 10
  }
  # a browse request showing category ID (Men's shirts custom id)
  browse_request = {
      "page_categories": ["Men's > Clothing > Shirts"],
      "filter": "categoryid:ANY(1234)", # Another custom attribute for categories
      "page_size": 10
  }
  # another example showing category ID's (Men's shirts custom id)
  browse_request = {
      "page_categories": ["1234"],  # Also ok to use unique category id's here
      "filter": "categoryid:ANY(1234)",
      "page_size": 10
  }
  # browse and filter set with the same value
  browse_request = {
      "page_category": ["Men's > Clothing > Shirts"], # Browse category
      "filter": "attributes.pageCategories:ANY('Men's > Clothing > Shirts')", # Compulsory filter
      "page_size": 10 # Number of results per page
  }
  # Send the request to the API
  browse_response = client.search(browse_request)
  # Process the browse results
  for product in browse_response.results:
      print(product.title, product.price)