결과 부스트

검색에서 상위로 올려야 하는 레코드를 지정할 수 있습니다.

부스팅 튜토리얼

이 튜토리얼에서는 제품 부스팅의 몇 가지 예시를 보여줍니다.


Cloud Shell 편집기에서 이 태스크의 단계별 안내를 직접 수행하려면 둘러보기를 클릭합니다.

둘러보기


데이터 세트 예시

이 페이지에서는 다음 데이터 세트를 예시로 사용합니다. 설명에 필요한 필드만 포함됩니다.

기본 요건

필터 표현식 구문은 필터 및 순서 결과를 참조하세요.

부스트

부스팅을 사용하면 부스트를 적용하여 결과의 우선순위를 지정하거나 우선순위를 지정하여 결과 순위를 제어할 수 있습니다.

예를 들어 'Google 스피커'를 검색하면 특별한 순서 없이 'nest_mini_2nd_gen', 'nest_audio', 'nest_hub_max', 'nest_hub', 'google_home_max', 'google_home_mini'가 표시됩니다.

Java

import com.google.cloud.retail.v2.SearchRequest;
import com.google.cloud.retail.v2.SearchRequest.BoostSpec;
import com.google.cloud.retail.v2.SearchRequest.BoostSpec.ConditionBoostSpec;
import com.google.cloud.retail.v2.SearchResponse;
import com.google.cloud.retail.v2.SearchServiceClient;

public static void searchProductsWithBoostSpec(String query, int pageSize,
    String condition, float boostStrength) throws IOException, InterruptedException {
  BoostSpec boostSpec = BoostSpec.newBuilder()
      .addConditionBoostSpecs(ConditionBoostSpec.newBuilder()
          .setCondition(condition)
          .setBoost(boostStrength)
          .build())
      .build();

  SearchRequest searchRequest = SearchRequest.newBuilder()
      .setPlacement(DEFAULT_SEARCH_PLACEMENT_NAME)
      .setBranch(DEFAULT_BRANCH_NAME)
      .setVisitorId(VISITOR_ID)
      .setQuery(query)
      .setPageSize(pageSize)
      .setBoostSpec(boostSpec)
      .build();

  try (SearchServiceClient searchClient = SearchServiceClient.create()) {
    SearchResponse response = searchClient.search(searchRequest).getPage().getResponse();
    System.out.println("Search response: " + searchResponse);
  }
}

예를 들어 저렴한 제품(95달러 미만)에 우선순위를 두고 고가 제품(95달러 이상)의 우선순위를 낮추려는 경우, 다음과 같이 부스트 사양을 적용할 수 있습니다.

JSON

{
  condition_boost_specs {
    condition: "price: IN(*, 95.0e)"
    boost: 0.5
  }
  condition_boost_specs {
    condition: "price: IN(95.0e, *)"
    boost: -0.5
  }
}

결과에서 처음 3개로 'nest_mini_2nd_gen', 'google_home_mini', 'nest_hub'가 표시되고 'nest_audio', 'nest_hub_max', 'google_home_max'는 마지막 3개로 표시될 수 있습니다. 하지만 결과 필터링 및 순서에서 설명한 것처럼 가격별 순서와는 다른 특정 순서는 보장되지 않습니다.