서빙 컨트롤 만들기

이 페이지에서는 서빙 컨트롤을 만드는 방법을 설명합니다.

서빙 컨트롤은 개별 서빙 구성에 대해 정의하고 적용하는 규칙입니다. 서빙 구성에 대한 상세 설명은 서빙 구성 정보를 참조하세요.

서빙 컨트롤을 사용하면 서빙 구성이 결과를 제공하는 방식을 맞춤설정하는 규칙을 만들 수 있습니다.

Search for Retail 콘솔에서 컨트롤을 트리거하는 조건과 조건이 트리거될 때 수행되는 작업으로 구성된 서빙 컨트롤을 만들 수 있습니다. 그런 다음 새 서빙 컨트롤을 서빙 구성에 연결할 수 있습니다.

서빙 구성은 제어와 다대다 관계를 갖습니다. 서빙 구성에 여러 컨트롤을 추가할 수 있고 단일 컨트롤을 여러 서빙 구성과 연결할 수 있습니다.

서빙 컨트롤과 서빙 구성을 만들 때 사용할 수 있는 제품(추천 또는 검색)을 선택합니다. 서빙 컨트롤은 동일한 제품 유형의 서빙 구성과만 연결될 수 있습니다. 예를 들어 추천용으로 생성된 서빙 컨트롤은 검색용으로 생성된 서빙 구성과 연결될 수 없습니다.

서빙 구성은 검색 또는 예측 요청 중에 적용되는 컨트롤을 관리합니다. 서빙 시 요청의 활성 서빙 구성에 대한 컨트롤만 고려됩니다. 예를 들어 'shoes'를 검색할 때 브랜드 gShoe의 결과를 부스트하는 'gShoe Sale'이라는 컨트롤과 'sport shoes'를 포함하도록 'running shoes'라는 용어를 사용하여 쿼리를 확장하는 'More Shoes'라는 컨트롤을 만들었다고 가정해 보겠습니다. 'gShoe Sale' 컨트롤만 서빙 구성에 연결하면 이 서빙 구성을 사용하는 검색 요청은 'shoes'라는 용어를 사용하는 쿼리에 대해 gShoe 결과를 부스트하지만 'More Shoes' 컨트롤은 사용 중인 서빙 구성에 연결되어 있지 않으므로 효과가 없습니다.

컨트롤을 만든 후 실시간 서빙 구성으로 추가하거나 전환할 수 있습니다.

Controls.create 메서드를 사용하여 컨트롤 페이지 또는 인라인에서 언제든지 서빙 컨트롤을 만들거나 수정할 수 있습니다. 콘솔에서 서빙 구성 생성 프로세스 중에 선택적으로 제어를 만들 수 있습니다.

서빙 컨트롤은 최대 1,00개까지 만들 수 있습니다. 더 많은 서빙 컨트롤이 필요한 경우 추가 할당량을 요청하세요. 추가 할당량을 요청하는 방법은 할당량 상향 조정을 참조하세요. 서빙 구성은 리디렉션 컨트롤 외에 모든 유형의 서빙 컨트롤을 최대 100개까지 포함할 수 있으며, 이 경우 서빙 구성당 한도는 1,000개입니다.

서빙 컨트롤을 사용할 수 있는 항목은 다음과 같습니다.

  • 상승/하강: 반환된 결과 목록의 순위와 순서에 영향을 미칩니다. 검색과 추천에 사용할 수 있습니다.
  • 필터: 반환된 결과 목록에서 필터를 통과하지 않은 결과를 삭제합니다. 검색에만 사용 가능합니다.
  • 리디렉션: 검색 쿼리에 따라 사용자를 특정 페이지로 리디렉션합니다. 검색에만 사용 가능합니다.
  • 링귀스틱: 검색 쿼리의 언어적 요소를 맞춤설정합니다. 검색에만 사용 가능합니다. 여러 가지 유형의 언어적 컨트롤을 사용할 수 있습니다.
    • 동의어: 검색어에서 동의어로 간주되는 범위를 확장합니다.
    • 단방향 동의어: 특정 검색어의 동의어를 단방향으로 확장합니다.
    • 연관 금지: A 검색어가 표시되었을 때 B 검색어가 검색에 사용되지 않게 하는 컨트롤입니다.
    • 무시: 특정 검색어가 검색에 사용되지 않도록 방지합니다.
    • 대체: 검색어에서 용어를 바꿉니다.
  • 고정: 결과 순서에 영향을 미치며, 특정 위치(예: 4번 위치)에 결과를 배치합니다. 검색 및 탐색에 사용할 수 있습니다.

이러한 컨트롤의 예시는 서빙 컨트롤 정보을 참조하세요.

리디렉션 제어 튜토리얼

이 튜토리얼에서는 리디렉션 제어를 사용하는 방법을 보여줍니다.


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

둘러보기


새 서빙 컨트롤 만들기

Google Cloud 콘솔의 컨트롤 페이지 또는 Controls.create 메서드를 사용하여 인라인에서 새 서빙 컨트롤을 만듭니다.

컨트롤은 유형에 따라 요구사항이 다릅니다. 만들려는 컨트롤 유형의 생성 절차로 이동합니다.

부스트/하강 컨트롤 만들기

이 컨트롤 유형에 관한 상세 설명은 부스트/하강 컨트롤을 참조하세요.

이 컨트롤 유형은 검색과 추천에 사용 가능합니다.

검색 부스트/하강 컨트롤을 만들려면 다음 안내를 따르세요.

콘솔

  1. Search for Retail 콘솔의 컨트롤 페이지로 이동합니다.

    컨트롤 페이지로 이동

  2. 서빙 컨트롤 탭에서 컨트롤 만들기를 클릭합니다.

    컨트롤 만들기 창이 열립니다.

  3. 환경설정 섹션의 컨트롤 이름 필드에 새 컨트롤의 이름을 입력합니다.

  4. 선택사항: 자동으로 생성된 컨트롤 ID를 변경하려면 수정을 클릭하고 새 컨트롤 ID를 입력합니다.

  5. 제품 선택 섹션에서 검색을 선택합니다.

  6. 컨트롤 유형으로 부스팅/하강 컨트롤을 선택합니다. 계속을 클릭합니다.

  7. 트리거 섹션에서 이 컨트롤을 트리거하는 사용자 동작 유형을 선택합니다.

    • 카테고리 찾아보기: 이 규칙은 사용자가 사이트에서 카테고리를 탐색할 때 트리거됩니다(search.request.query가 비어 있음).

    • 검색: 이 규칙은 사용자가 사이트를 검색할 때 트리거됩니다(search.request.query가 비어있지 않음). 카테고리를 탐색하거나 쿼리를 검색할 때 이 컨트롤을 트리거하도록 설정하려면 다음 단계를 건너뜁니다.

  8. 선택사항: 특정 카테고리를 탐색하거나 특정 쿼리를 검색하는지에 따라 이 컨트롤을 트리거할 수 있는 특정 카테고리 또는 쿼리를 설정합니다.

    • 카테고리 찾아보기를 선택한 경우: 카테고리 필드에서 탐색할 때 이 컨트롤을 트리거할 카테고리를 입력합니다.

    • 검색을 선택한 경우 쿼리 추가 버튼을 클릭하여 필터링할 쿼리 검색어 (예: running shoes)를 추가합니다. 각 검색어에 대해 부분 일치 또는 전체 일치를 선택합니다.

  9. 선택사항: 기간 추가 버튼을 클릭하여 이 컨트롤을 적용할 수 있는 시간 범위를 하나 이상 추가합니다.

  10. 계속을 클릭하여 작업 섹션으로 이동합니다.

  11. 부스트/하강 제품 필드에 제품 속성의 필터를 추가합니다.

    필터링 및 순서 지정에 문서화된 필터 표현식 문법을 사용합니다. 예를 들어 'product1' 및 'product2'의 빨간색 버전과 파란색 버전((id: ANY("product1","product2")) AND (colorFamily: ANY("Red","Blue")))을 지정하려면 다음 안내를 따르세요.

  12. 부스트/하강 값에서 슬라이더를 사용하여 부스트 강도를 설정합니다. 양수를 사용하면 결과가 상향 조정되고 음수를 사용하면 아래로 내려갑니다. 계속을 클릭합니다.

  13. 서빙 구성 섹션에서 컨트롤을 적용할 서빙 구성을 선택합니다.

  14. 컨트롤 설정을 제출합니다.

    새로 생성되거나 업데이트된 컨트롤이 실시간 트래픽을 처리할 준비가 될 때까지 몇 분 정도 걸립니다. 콘솔 평가 페이지에서 변경사항이 적용되었는지 테스트할 수 있습니다.

이제 컨트롤 페이지의 서빙 컨트롤 탭에 새 컨트롤이 표시됩니다.

curl

요청 본문에 포함된 제어 ID와 Control의 인스턴스를 사용하여 Control.create 요청을 실행합니다.

필드 세부정보는 Controls API 참조Controls.create API 참조를 확인하세요.

사용자가 사이트에서 카테고리를 탐색하거나(search.request.query가 비어 있음) 사용자가 사이트를 검색하는 경우(search.request.query가 비어있지 않음) 부스트/하강 컨트롤이 트리거될 수 있습니다.

다음 예시에서는 browse-triggered 컨트롤의 필드를 보여줍니다. 여기서 searchSolutionUseCaseSEARCH_SOLUTION_USE_CASE_BROWSE로 설정됩니다.

curl -X POST \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
     -H "Content-Type: application/json; charset=utf-8" \
     --data '{
              "displayName": "DISPLAY_NAME",
              "solutionTypes": [ "SOLUTION_TYPE_SEARCH" ],
              "searchSolutionUseCase": [
                "SEARCH_SOLUTION_USE_CASE_BROWSE"
              ],
              "rule": {
                "condition": {
                  "pageCategories": [
                      "CATEGORY_ABC",
                      "CATEGORY_XYZ"
                  ],
                  "activeTimeRange": [
                    {
                      "startTime": "START_TIMESTAMP_1",
                      "endTime": "END_TIMESTAMP_1"
                    },
                    {
                      "startTime": "START_TIMESTAMP_2",
                      "endTime": "END_TIMESTAMP_2"
                    }
                  ]
                },
                "boostAction": {
                  "boost": BOOST_NUMBER,
                  "productsFilter": "FILTER_EXPRESSION"
                }
              }
    }' \
    "https://retail.googleapis.com/v2beta/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/controls?controlId=CONTROL_ID"

다음 예시에서는 search-triggered 컨트롤의 필드를 보여줍니다. 여기서 searchSolutionUseCaseSEARCH_SOLUTION_USE_CASE_SEARCH로 설정됩니다.

curl -X POST \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
     -H "Content-Type: application/json; charset=utf-8" \
     --data '{
              "displayName": "DISPLAY_NAME",
              "solutionTypes": [ "SOLUTION_TYPE_SEARCH" ],
              "searchSolutionUseCase": [
                "SEARCH_SOLUTION_USE_CASE_SEARCH"
              ],
              "rule": {
                "condition": {
                  "queryTerms": [
                    {
                      "value": "VALUE_1",
                      "fullMatch": "FULLMATCH_BOOLEAN_1"
                    },
                    {
                      "value": "VALUE_2",
                      "fullMatch": "FULLMATCH_BOOLEAN_2"
                    }
                  ],
                  "activeTimeRange": [
                    {
                      "startTime": "START_TIMESTAMP_1",
                      "endTime": "END_TIMESTAMP_1"
                    },
                    {
                      "startTime": "START_TIMESTAMP_2",
                      "endTime": "END_TIMESTAMP_2"
                    }
                  ]
                },
                "boostAction": {
                  "boost": BOOST_NUMBER,
                  "productsFilter": "FILTER_EXPRESSION"
                }
              }
    }' \
    "https://retail.googleapis.com/v2beta/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/controls?controlId=CONTROL_ID"
  

새로 생성되거나 업데이트된 컨트롤이 실시간 트래픽을 처리할 준비가 될 때까지 몇 분 정도 걸립니다. 콘솔 평가 페이지에서 변경사항이 적용되었는지 테스트할 수 있습니다.

서빙 구성에 컨트롤을 추가하려면 ServingConfig.addControl 메서드를 사용하세요.

추천 부스트/하강 컨트롤 만들기

추천 부스트/하강 컨트롤을 만들려면 다음 안내를 따르세요.

콘솔

  1. Search for Retail 콘솔의 컨트롤 페이지로 이동합니다.

    컨트롤 페이지로 이동

  2. 서빙 컨트롤 탭에서 컨트롤 만들기를 클릭합니다.

    컨트롤 만들기 창이 열립니다.

  3. 환경설정 섹션의 컨트롤 이름 필드에 새 컨트롤의 이름을 입력합니다.

  4. (선택사항) 자동으로 생성된 컨트롤 ID를 변경하려면 수정을 클릭하고 새 컨트롤 ID를 입력합니다.

  5. 제품 선택 섹션에서 추천을 선택합니다.

  6. 컨트롤 유형으로 부스팅/하강 컨트롤을 선택합니다.

  7. 계속을 클릭하여 작업 섹션으로 이동합니다.

  8. 부스트/하강 제품 필드에 제품 속성의 필터를 추가합니다.

    추천 필터링에 설명된 필터 표현식 문법을 사용합니다.

    예를 들어 'product1' 및 'product2'의 빨간색 버전과 파란색 버전((id: ANY("product1","product2")) AND (colorFamily: ANY("Red","Blue")))을 지정하려면 다음 안내를 따르세요.

  9. 부스트/하강 값에서 슬라이더를 사용하여 부스트 강도를 설정합니다. 양수를 사용하면 결과가 상향 조정되고 음수를 사용하면 아래로 내려갑니다.

  10. 계속을 클릭하여 서빙 구성 섹션으로 이동합니다.

  11. 컨트롤을 적용할 서빙 구성을 선택합니다.

  12. 컨트롤 설정을 제출합니다.

    새로 생성되거나 업데이트된 컨트롤이 실시간 트래픽을 처리할 준비가 될 때까지 몇 분 정도 걸립니다. 콘솔 평가 페이지에서 변경사항이 적용되었는지 테스트할 수 있습니다.

컨트롤 페이지의 서빙 컨트롤 탭에 새 컨트롤이 나열됩니다.

curl

요청 본문에 포함된 제어 ID와 Control의 인스턴스를 사용하여 Control.create 요청을 실행합니다.

필드 세부정보는 Controls API 참조Controls.create API 참조를 확인하세요.

필터 표현식을 만들려면 추천 필터링에 설명된 필터 표현식 문법을 사용합니다.

curl -X POST \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
     -H "Content-Type: application/json; charset=utf-8" \
     --data '{
              "displayName": "DISPLAY_NAME",
              "solutionTypes": [ "SOLUTION_TYPE_RECOMMENDATION" ],
                "boostAction": {
                  "boost": BOOST_NUMBER,
                  "productsFilter": "FILTER_EXPRESSION"
                }
              }
    }' \
    "https://retail.googleapis.com/v2beta/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/controls?controlId=CONTROL_ID"
   

새로 생성되거나 업데이트된 컨트롤이 실시간 트래픽을 처리할 준비가 될 때까지 몇 분 정도 걸립니다. 콘솔 평가 페이지에서 변경사항이 적용되었는지 테스트할 수 있습니다.

서빙 구성에 컨트롤을 추가하려면 ServingConfig.addControl 메서드를 사용하세요.

필터 컨트롤 만들기

이 컨트롤 유형에 대한 상세 설명은 필터 컨트롤을 참조하세요.

콘솔

  1. Search for Retail 콘솔의 컨트롤 페이지로 이동합니다.

    컨트롤 페이지로 이동

  2. 서빙 컨트롤 탭에서 컨트롤 만들기를 클릭합니다.

    컨트롤 만들기 창이 열립니다.

  3. 환경설정 섹션의 컨트롤 이름 필드에 새 컨트롤의 이름을 입력합니다.

  4. 선택사항: 자동으로 생성된 컨트롤 ID를 변경하려면 수정을 클릭하고 새 컨트롤 ID를 입력합니다.

  5. 컨트롤 유형으로 필터 컨트롤을 선택합니다.

  6. 계속을 클릭하여 트리거 섹션으로 이동하세요.

  7. 이 컨트롤을 트리거하는 사용자 동작 유형을 선택합니다.

    • 카테고리 찾아보기: 이 규칙은 사용자가 사이트에서 카테고리를 탐색할 때 트리거됩니다(search.request.query가 비어 있음).

    • 검색: 이 규칙은 사용자가 사이트를 검색할 때 트리거됩니다(search.request.query가 비어있지 않음).

  8. 선택사항: 탐색한 카테고리나 검색한 쿼리에 따라 규칙을 트리거하는 제어 조건을 설정합니다. 사용 가능한 옵션은 카테고리 찾아보기 또는 검색을 선택했는지에 따라 다릅니다.

    • 카테고리 찾아보기를 선택한 경우: 카테고리 필드에서 탐색할 때 이 컨트롤을 트리거할 카테고리를 입력합니다.

    • 검색을 선택한 경우 쿼리 추가 버튼을 클릭하여 필터링할 쿼리 검색어(예: running shoes)를 추가하고 각 검색어에 대해 다음 중 하나를 선택합니다.

      • 부분 일치: 이 컨트롤은 쿼리가 이 쿼리 검색어와 부분적으로 일치하는 경우에 적용됩니다.
      • 전체 일치: 이 컨트롤은 쿼리가 이 쿼리 검색어와 전체적으로 일치하는 경우에만 적용됩니다.

      이러한 용어 중 하나가 쿼리에 포함된 경우 컨트롤이 적용됩니다.

  9. 선택사항: 기간 추가 버튼을 클릭하여 이 컨트롤을 적용할 수 있는 시간 범위를 하나 이상 추가합니다.

  10. 계속을 클릭하여 작업 섹션으로 이동합니다.

  11. 필터 작업 필드에 제품 속성의 필터를 추가합니다.

    필터링 및 순서 지정에 문서화된 필터 표현식 문법을 사용합니다.

    예를 들어 'product1' 및 'product2'의 빨간색 버전과 파란색 버전((id: ANY("product1","product2")) AND (colorFamily: ANY("Red","Blue")))을 지정하려면 다음 안내를 따르세요.

  12. 계속을 클릭하여 서빙 구성 섹션으로 이동합니다.

  13. 컨트롤을 적용할 서빙 구성을 선택합니다.

  14. 컨트롤 설정을 제출합니다.

    새로 생성되거나 업데이트된 컨트롤이 실시간 트래픽을 처리할 준비가 될 때까지 몇 분 정도 걸립니다. 콘솔 평가 페이지에서 변경사항이 적용되었는지 테스트할 수 있습니다.

컨트롤 페이지의 서빙 컨트롤 탭에 새 컨트롤이 나열됩니다.

curl

요청 본문에 포함된 제어 ID와 Control의 인스턴스를 사용하여 Control.create 요청을 실행합니다.

필드 세부정보는 Controls API 참조Controls.create API 참조를 확인하세요.

필터 컨트롤은 사용자가 사이트에서 카테고리를 탐색할 때(search.request.query가 비어 있음) 또는 사용자가 사이트를 검색할 때(search.request.query가 비어 있지 않음) 트리거될 수 있습니다.

다음 예시에서는 browse-triggered 컨트롤의 필드를 보여줍니다. 여기서 searchSolutionUseCaseSEARCH_SOLUTION_USE_CASE_BROWSE로 설정됩니다.

curl -X POST \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
     -H "Content-Type: application/json; charset=utf-8" \
     --data '{
              "displayName": "DISPLAY_NAME",
              "solutionTypes": [ "SOLUTION_TYPE_SEARCH" ],
              "searchSolutionUseCase": [
                "SEARCH_SOLUTION_USE_CASE_BROWSE"
              ],
              "rule": {
                "condition": {
                  "pageCategories": [
                      "CATEGORY_ABC",
                      "CATEGORY_XYZ"
                  ],
                  "activeTimeRange": [
                    {
                      "startTime": "START_TIMESTAMP_1",
                      "endTime": "END_TIMESTAMP_1"
                    },
                    {
                      "startTime": "START_TIMESTAMP_2",
                      "endTime": "END_TIMESTAMP_2"
                    }
                  ]
                },
                "filterAction": {
                  "filter": "FILTER_EXPRESSION"
                }
              }
    }' \
    "https://retail.googleapis.com/v2beta/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/controls?controlId=CONTROL_ID"

다음 예시에서는 search-triggered 컨트롤의 필드를 보여줍니다. 여기서 searchSolutionUseCaseSEARCH_SOLUTION_USE_CASE_SEARCH로 설정됩니다.

curl -X POST \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
     -H "Content-Type: application/json; charset=utf-8" \
     --data '{
              "displayName": "DISPLAY_NAME",
              "solutionTypes": [ "SOLUTION_TYPE_SEARCH" ],
              "searchSolutionUseCase": [
                "SEARCH_SOLUTION_USE_CASE_SEARCH"
              ],
              "rule": {
                "condition": {
                  "pageCategories": [
                      "CATEGORY_ABC",
                      "CATEGORY_XYZ"
                  ],
                  "activeTimeRange": [
                    {
                      "startTime": "START_TIMESTAMP_1",
                      "endTime": "END_TIMESTAMP_1"
                    },
                    {
                      "startTime": "START_TIMESTAMP_2",
                      "endTime": "END_TIMESTAMP_2"
                    }
                  ]
                },
                "filterAction": {
                  "filter": "FILTER_EXPRESSION"
                }
              }
    }' \
    "https://retail.googleapis.com/v2beta/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/controls?controlId=CONTROL_ID"
  

서빙 구성에 컨트롤을 추가하려면 ServingConfig.addControl 메서드를 사용하세요.

리디렉션 컨트롤 만들기

이 컨트롤 유형에 대한 상세 설명은 리디렉션 컨트롤을 참조하세요.

콘솔

  1. Search for Retail 콘솔의 컨트롤 페이지로 이동합니다.

    컨트롤 페이지로 이동

  2. 서빙 컨트롤 탭에서 컨트롤 만들기를 클릭합니다.

    컨트롤 만들기 창이 열립니다.

  3. 환경설정 섹션의 컨트롤 이름 필드에 새 컨트롤의 이름을 입력합니다.

  4. 선택사항: 자동으로 생성된 컨트롤 ID를 변경하려면 수정을 클릭하고 새 컨트롤 ID를 입력합니다.

  5. 컨트롤 유형으로 리디렉션 컨트롤을 선택합니다.

  6. 계속을 클릭하여 트리거 섹션으로 이동하세요.

  7. 검색어 또는 기간 트리거를 하나 이상 만듭니다. 리디렉션 컨트롤에는 트리거가 하나 이상 필요합니다.

  8. 이 컨트롤을 트리거하는 사용자 동작 유형을 선택합니다.

    • 카테고리 찾아보기: 이 규칙은 사용자가 사이트에서 카테고리를 탐색할 때 트리거됩니다(search.request.query가 비어 있음).

    • 검색: 이 규칙은 사용자가 사이트를 검색할 때 트리거됩니다(search.request.query가 비어있지 않음).

  9. 탐색한 카테고리나 검색한 쿼리에 따라 규칙을 트리거하는 제어 조건을 설정합니다. 사용 가능한 옵션은 카테고리 찾아보기 또는 검색을 선택했는지에 따라 다릅니다.

    • 카테고리 찾아보기를 선택한 경우: 카테고리 필드에서 탐색할 때 이 컨트롤을 트리거할 카테고리를 입력합니다.

    • 검색을 선택한 경우 쿼리 추가 버튼을 클릭하여 필터링할 쿼리 검색어(예: running shoes)를 추가하고 각 검색어에 대해 다음 중 하나를 선택합니다.

      • 부분 일치: 이 컨트롤은 쿼리가 이 쿼리 검색어와 부분적으로 일치하는 경우에 적용됩니다.
      • 전체 일치: 이 컨트롤은 쿼리가 이 쿼리 검색어와 전체적으로 일치하는 경우에만 적용됩니다.

      이러한 용어 중 하나가 쿼리에 포함된 경우 컨트롤이 적용됩니다.

  10. 기간 추가 버튼을 클릭하여 이 컨트롤을 적용할 수 있는 기간을 하나 이상 추가합니다.

  11. 계속을 클릭하여 작업 섹션으로 이동합니다.

  12. 이 컨트롤이 트리거될 때 리디렉션할 URI를 입력합니다.

  13. 계속을 클릭하여 서빙 구성 섹션으로 이동합니다.

  14. 컨트롤을 적용할 서빙 구성을 선택합니다.

  15. 컨트롤 설정을 제출합니다.

    새로 생성되거나 업데이트된 컨트롤이 실시간 트래픽을 처리할 준비가 될 때까지 몇 분 정도 걸립니다. 콘솔 평가 페이지에서 변경사항이 적용되었는지 테스트할 수 있습니다.

컨트롤 페이지의 제공 컨트롤 탭에 새 컨트롤이 나열됩니다.

curl

요청 본문에 포함된 제어 ID와 Control의 인스턴스를 사용하여 Control.create 요청을 실행합니다.

필드 세부정보는 Controls API 참조Controls.create API 참조를 확인하세요.

리디렉션 컨트롤은 사용자가 사이트에서 카테고리를 탐색할 때(search.request.query가 비어 있음) 또는 사용자가 사이트를 검색할 때(search.request.query가 비어 있지 않음) 트리거될 수 있습니다.

다음 예시에서는 browse-triggered 컨트롤의 필드를 보여줍니다. 여기서 searchSolutionUseCaseSEARCH_SOLUTION_USE_CASE_BROWSE로 설정됩니다.

curl -X POST \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
     -H "Content-Type: application/json; charset=utf-8" \
     --data '{
              "displayName": "DISPLAY_NAME",
              "solutionTypes": [ "SOLUTION_TYPE_SEARCH" ],
              "searchSolutionUseCase": [
                "SEARCH_SOLUTION_USE_CASE_BROWSE"
              ],
              "rule": {
                "condition": {
                  "queryTerms": [
                    {
                      "value": "VALUE_1",
                      "fullMatch": "FULLMATCH_BOOLEAN_1"
                    },
                    {
                      "value": "VALUE_2",
                      "fullMatch": "FULLMATCH_BOOLEAN_2"
                    }
                  ],
                  "activeTimeRange": [
                    {
                      "startTime": "START_TIMESTAMP_1",
                      "endTime": "END_TIMESTAMP_1"
                    },
                    {
                      "startTime": "START_TIMESTAMP_2",
                      "endTime": "END_TIMESTAMP_2"
                    }
                  ]
                },
                "redirectAction": {
                  "redirectUri": "REDIRECT_URI",
                }
              }
    }' \
    "https://retail.googleapis.com/v2beta/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/controls?controlId=CONTROL_ID"

다음 예시에서는 search-triggered 컨트롤의 필드를 보여줍니다. 여기서 searchSolutionUseCaseSEARCH_SOLUTION_USE_CASE_SEARCH로 설정됩니다.

curl -X POST \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
     -H "Content-Type: application/json; charset=utf-8" \
     --data '{
              "displayName": "DISPLAY_NAME",
              "solutionTypes": [ "SOLUTION_TYPE_SEARCH" ],
              "searchSolutionUseCase": [
                "SEARCH_SOLUTION_USE_CASE_SEARCH"
              ],
              "rule": {
                "condition": {
                  "queryTerms": [
                    {
                      "value": "VALUE_1",
                      "fullMatch": "FULLMATCH_BOOLEAN_1"
                    },
                    {
                      "value": "VALUE_2",
                      "fullMatch": "FULLMATCH_BOOLEAN_2"
                    }
                  ],
                  "activeTimeRange": [
                    {
                      "startTime": "START_TIMESTAMP_1",
                      "endTime": "END_TIMESTAMP_1"
                    },
                    {
                      "startTime": "START_TIMESTAMP_2",
                      "endTime": "END_TIMESTAMP_2"
                    }
                  ]
                },
                "redirectAction": {
                  "redirectUri": "REDIRECT_URI",
                }
              }
    }' \
    "https://retail.googleapis.com/v2beta/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/controls?controlId=CONTROL_ID"
  

서빙 구성에 컨트롤을 추가하려면 ServingConfig.addControl 메서드를 사용하세요.

양방향 동의어 컨트롤 만들기

이 컨트롤 유형에 대한 상세 설명은 양방향 동의어 컨트롤을 참조하세요.

콘솔

  1. Search for Retail 콘솔의 컨트롤 페이지로 이동합니다.

    컨트롤 페이지로 이동

  2. 서빙 컨트롤 탭에서 컨트롤 만들기를 클릭합니다.

  3. 컨트롤 이름 필드에 새 컨트롤의 이름을 입력합니다.

    컨트롤 만들기 창이 열립니다.

  4. 환경설정 섹션이 표시됩니다.

  5. 선택사항: 자동으로 생성된 컨트롤 ID를 변경하려면 수정을 클릭하고 새 컨트롤 ID를 입력합니다.

  6. 컨트롤 유형으로 양방향 동의어 컨트롤을 선택합니다.

  7. 계속을 클릭하여 트리거 섹션으로 이동하세요.

  8. 선택사항: 기간 추가 버튼을 클릭하여 이 컨트롤을 적용할 수 있는 시간 범위를 하나 이상 추가합니다.

  9. 계속을 클릭하여 작업 섹션으로 이동합니다.

  10. 동의어 필드에 서로 동의어로 사용할 2~100개의 검색어(예: shirttop)를 입력합니다.

    이러한 검색어 중 하나라도 쿼리에 포함되어 있으면 다른 검색어가 포함된 검색어의 동의어로 간주됩니다.

  11. 계속을 클릭하여 서빙 구성 섹션으로 이동합니다.

  12. 컨트롤을 적용할 서빙 구성을 선택합니다.

  13. 컨트롤 설정을 제출합니다.

    새로 생성되거나 업데이트된 컨트롤이 실시간 트래픽을 처리할 준비가 될 때까지 몇 분 정도 걸립니다. 콘솔 평가 페이지에서 변경사항이 적용되었는지 테스트할 수 있습니다.

컨트롤 페이지의 제공 컨트롤 탭에 새 컨트롤이 나열됩니다.

curl

요청 본문에 포함된 제어 ID와 Control의 인스턴스를 사용하여 Control.create 요청을 실행합니다.

필드 세부정보는 Controls API 참조Controls.create API 참조를 확인하세요.

curl -X POST \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
     -H "Content-Type: application/json; charset=utf-8" \
     --data '{
              "displayName": "DISPLAY_NAME",
              "solutionTypes": [ "SOLUTION_TYPE_SEARCH" ],
              "rule": {
                "condition": {
                  "activeTimeRange": [
                    {
                      "startTime": "START_TIMESTAMP_1",
                      "endTime": "END_TIMESTAMP_1"
                    },
                    {
                      "startTime": "START_TIMESTAMP_2",
                      "endTime": "END_TIMESTAMP_2"
                    }
                    ]
                },
                "twoWaySynonymAction": {
                  "synonyms": [
                    "SYNONYM_1",
                    "SYNONYM_2"
                  ]
                }
              }
    }' \
    "https://retail.googleapis.com/v2beta/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/controls?controlId=CONTROL_ID"
  

서빙 구성에 컨트롤을 추가하려면 ServingConfig.addControl 메서드를 사용합니다. 서빙 구성에 인라인으로 컨트롤 추가를 참조하세요.

단방향 동의어 컨트롤 만들기

이 컨트롤 유형에 대한 상세 설명은 단방향 동의어 컨트롤을 참조하세요.

콘솔

  1. Search for Retail 콘솔의 컨트롤 페이지로 이동합니다.

    컨트롤 페이지로 이동

  2. 서빙 컨트롤 탭에서 컨트롤 만들기를 클릭합니다.

    컨트롤 만들기 창이 열립니다.

  3. 환경설정 섹션의 컨트롤 이름 필드에 새 컨트롤의 이름을 입력합니다.

  4. 선택사항: 자동으로 생성된 컨트롤 ID를 변경하려면 수정을 클릭하고 새 컨트롤 ID를 입력합니다.

  5. 제어 유형으로 단방향 동의어 컨트롤을 선택합니다.

  6. 계속을 클릭하여 트리거 섹션으로 이동하세요.

  7. 선택사항: 기간 추가 버튼을 클릭하여 이 컨트롤을 적용할 수 있는 시간 범위를 하나 이상 추가합니다.

  8. 계속을 클릭하여 작업 섹션으로 이동합니다.

  9. 검색어 필드에 동의어가 쿼리에 포함될 때 동의어가 연관되어야 할 검색어(예: shoes)를 입력합니다.

  10. 동의어 필드에 지정한 검색어의 동의어로 사용할 검색어를 입력합니다(예: sneakerssandals를 검색어 shoes의 단방향 동의어로 사용).

  11. 계속을 클릭하여 서빙 구성 섹션으로 이동합니다.

  12. 컨트롤을 적용할 서빙 구성을 선택합니다.

  13. 컨트롤 설정을 제출합니다.

    새로 생성되거나 업데이트된 컨트롤이 실시간 트래픽을 처리할 준비가 될 때까지 몇 분 정도 걸립니다. 콘솔 평가 페이지에서 변경사항이 적용되었는지 테스트할 수 있습니다.

컨트롤 페이지의 제공 컨트롤 탭에 새 컨트롤이 나열됩니다.

curl

요청 본문에 포함된 제어 ID와 Control의 인스턴스를 사용하여 Control.create 요청을 실행합니다.

필드 세부정보는 Controls API 참조Controls.create API 참조를 확인하세요.

curl -X POST \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
     -H "Content-Type: application/json; charset=utf-8" \
     --data '{
              "displayName": "DISPLAY_NAME",
              "solutionTypes": [ "SOLUTION_TYPE_SEARCH" ],
              "rule": {
                "condition": {
                  "activeTimeRange": [
                    {
                      "startTime": "START_TIMESTAMP_1",
                      "endTime": "END_TIMESTAMP_1"
                    },
                    {
                      "startTime": "START_TIMESTAMP_2",
                      "endTime": "END_TIMESTAMP_2"
                    }
                  ]
                },
                "oneWaySynonymAction": {
                  "synonyms": [
                    "queryTerms": [
                      "QUERY_TERM_1",
                      "QUERY_TERM_2"
                    ],
                    "synonyms": [
                      "SYNONYM_1",
                      "SYNONYM_2"
                    ]
                  ]
                }
              }
    }' \
    "https://retail.googleapis.com/v2beta/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/controls?controlId=CONTROL_ID"
  

서빙 구성에 컨트롤을 추가하려면 ServingConfig.addControl 메서드를 사용하세요.

연관 금지 컨트롤 만들기

이 컨트롤 유형에 대한 상세 설명은 연관 금지 컨트롤을 참조하세요.

콘솔

  1. Search for Retail 콘솔의 컨트롤 페이지로 이동합니다.

    컨트롤 페이지로 이동

  2. 서빙 컨트롤 탭에서 컨트롤 만들기를 클릭합니다.

    컨트롤 만들기 창이 열립니다.

  3. 환경설정 섹션의 컨트롤 이름 필드에 새 컨트롤의 이름을 입력합니다.

  4. 선택사항: 자동으로 생성된 컨트롤 ID를 변경하려면 수정을 클릭하고 새 컨트롤 ID를 입력합니다.

  5. 컨트롤 유형으로 컨트롤을 연관하지 않음을 선택합니다.

  6. 계속을 클릭하여 트리거 섹션으로 이동하세요.

  7. 선택사항: 기간 추가 버튼을 클릭하여 이 컨트롤을 적용할 수 있는 시간 범위를 하나 이상 추가합니다.

  8. 계속을 클릭하여 작업 섹션으로 이동합니다.

  9. 검색어 필드에 명시적으로 다른 쿼리와 구별할 검색어(예: gShoe)를 입력합니다.

  10. 연결 해제된 검색어 필드에 검색 결과와 연결 해제할 검색어와 지정한 검색어를 입력합니다.

    예를 들어 검색어 cheap와 검색어 gShoe를 연결 해제할 수 있습니다.

  11. 계속을 클릭하여 서빙 구성 섹션으로 이동합니다.

  12. 컨트롤을 적용할 서빙 구성을 선택합니다.

  13. 컨트롤 설정을 제출합니다.

    새로 생성되거나 업데이트된 컨트롤이 실시간 트래픽을 처리할 준비가 될 때까지 몇 분 정도 걸립니다. 콘솔 평가 페이지에서 변경사항이 적용되었는지 테스트할 수 있습니다.

컨트롤 페이지의 제공 컨트롤 탭에 새 컨트롤이 나열됩니다.

curl

요청 본문에 포함된 제어 ID와 Control의 인스턴스를 사용하여 Control.create 요청을 실행합니다.

필드 세부정보는 Controls API 참조Controls.create API 참조를 확인하세요.

curl -X POST \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
     -H "Content-Type: application/json; charset=utf-8" \
     --data '{
              "displayName": "DISPLAY_NAME",
              "solutionTypes": [ "SOLUTION_TYPE_SEARCH" ],
              "rule": {
                "condition": {
                  "activeTimeRange": [
                    {
                      "startTime": "START_TIMESTAMP_1",
                      "endTime": "END_TIMESTAMP_1"
                    },
                    {
                      "startTime": "START_TIMESTAMP_2",
                      "endTime": "END_TIMESTAMP_2"
                    }
                  ]
                },
                "doNotAssociateAction": {
                    "queryTerms": [
                      "QUERY_TERM_1",
                      "QUERY_TERM_2"
                    ],
                    "doNotAssociateTerms": [
                      "DISSOCIATED_TERM_1",
                      "DISSOCIATED_TERM_2"
                    ]
                  ]
                }
              }
    }' \
    "https://retail.googleapis.com/v2beta/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/controls?controlId=CONTROL_ID"
  

서빙 구성에 컨트롤을 추가하려면 ServingConfig.addControl 메서드를 사용하세요.

무시 컨트롤 만들기

이 컨트롤 유형에 대한 상세 설명은 무시 컨트롤을 참조하세요.

콘솔

  1. Search for Retail 콘솔의 컨트롤 페이지로 이동합니다.

    컨트롤 페이지로 이동

  2. 서빙 컨트롤 탭에서 컨트롤 만들기를 클릭합니다.

    컨트롤 만들기 창이 열립니다.

  3. 환경설정 섹션의 컨트롤 이름 필드에 새 컨트롤의 이름을 입력합니다.

  4. 선택사항: 자동으로 생성된 컨트롤 ID를 변경하려면 수정을 클릭하고 새 컨트롤 ID를 입력합니다.

  5. 컨트롤 유형으로 컨트롤을 연관하지 않음을 선택합니다.

  6. 계속을 클릭하여 트리거 섹션으로 이동하세요.

  7. 선택사항: 기간 추가 버튼을 클릭하여 이 컨트롤을 적용할 수 있는 시간 범위를 하나 이상 추가합니다.

  8. 계속을 클릭하여 작업 섹션으로 이동합니다.

  9. 검색어 무시 필드에 검색어가 입력될 때 검색에서 무시할 검색어를 입력합니다(예: shoddy).

  10. 계속을 클릭하여 서빙 구성 섹션으로 이동합니다.

  11. 컨트롤을 적용할 서빙 구성을 선택합니다.

  12. 컨트롤 설정을 제출합니다.

    새로 생성되거나 업데이트된 컨트롤이 실시간 트래픽을 처리할 준비가 될 때까지 몇 분 정도 걸립니다. 콘솔 평가 페이지에서 변경사항이 적용되었는지 테스트할 수 있습니다.

컨트롤 페이지의 제공 컨트롤 탭에 새 컨트롤이 나열됩니다.

curl

요청 본문에 포함된 제어 ID와 Control의 인스턴스를 사용하여 Control.create 요청을 실행합니다.

필드 세부정보는 Controls API 참조Controls.create API 참조를 확인하세요.

curl -X POST \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
     -H "Content-Type: application/json; charset=utf-8" \
     --data '{
              "displayName": "DISPLAY_NAME",
              "solutionTypes": [ "SOLUTION_TYPE_SEARCH" ],
              "rule": {
                "condition": {
                  "activeTimeRange": [
                    {
                      "startTime": "START_TIMESTAMP_1",
                      "endTime": "END_TIMESTAMP_1"
                    },
                    {
                      "startTime": "START_TIMESTAMP_2",
                      "endTime": "END_TIMESTAMP_2"
                    }
                  ]
                },
                "ignoreAction": {
                  "ignoreTerms": [
                      "IGNORE_TERM_1",
                      "IGNORE_TERM_2"
                    ]
                  ]
                }
              }
    }' \
    "https://retail.googleapis.com/v2beta/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/controls?controlId=CONTROL_ID"
  

서빙 구성에 컨트롤을 추가하려면 ServingConfig.addControl 메서드를 사용하세요.

대체 컨트롤 만들기

이 컨트롤 유형에 대한 상세 설명은 대체 컨트롤을 참조하세요.

콘솔

  1. Search for Retail 콘솔의 컨트롤 페이지로 이동합니다.

    컨트롤 페이지로 이동

  2. 서빙 컨트롤 탭에서 컨트롤 만들기를 클릭합니다.

    컨트롤 만들기 창이 열립니다.

  3. 환경설정 섹션의 컨트롤 이름 필드에 새 컨트롤의 이름을 입력합니다.

  4. 선택사항: 자동으로 생성된 컨트롤 ID를 변경하려면 수정을 클릭하고 새 컨트롤 ID를 입력합니다.

  5. 대체 컨트롤을 제어 유형으로 선택합니다.

  6. 계속을 클릭하여 트리거 섹션으로 이동하세요.

  7. 선택사항: 기간 추가 버튼을 클릭하여 이 컨트롤을 적용할 수 있는 시간 범위를 하나 이상 추가합니다.

  8. 계속을 클릭하여 작업 섹션으로 이동합니다.

  9. 검색어 필드에 대체 검색어로 대체할 검색어(예: gShoe)를 입력합니다.

  10. 대체 용어 필드에 지정한 검색어를 대체할 검색어를 입력합니다.

    예를 들어 검색어 gShoe를 대체 검색어 Google Shoe로 바꿀 수 있습니다.

  11. 계속을 클릭하여 서빙 구성 섹션으로 이동합니다.

  12. 컨트롤을 적용할 서빙 구성을 선택합니다.

  13. 컨트롤 설정을 제출합니다.

    새로 생성되거나 업데이트된 컨트롤이 실시간 트래픽을 처리할 준비가 될 때까지 몇 분 정도 걸립니다. 콘솔 평가 페이지에서 변경사항이 적용되었는지 테스트할 수 있습니다.

컨트롤 페이지의 제공 컨트롤 탭에 새 컨트롤이 나열됩니다.

curl

요청 본문에 포함된 제어 ID와 Control의 인스턴스를 사용하여 Control.create 요청을 실행합니다.

필드 세부정보는 Controls API 참조Controls.create API 참조를 확인하세요.

curl -X POST \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
     -H "Content-Type: application/json; charset=utf-8" \
     --data '{
              "displayName": "DISPLAY_NAME",
              "solutionTypes": [ "SOLUTION_TYPE_SEARCH" ],
              "rule": {
                "condition": {
                  "activeTimeRange": [
                    {
                      "startTime": "START_TIMESTAMP_1",
                      "endTime": "END_TIMESTAMP_1"
                    },
                    {
                      "startTime": "START_TIMESTAMP_2",
                      "endTime": "END_TIMESTAMP_2"
                    }
                  ]
                },
                "replacementAction": {
                    "queryTerms": [
                      "QUERY_TERM_1",
                      "QUERY_TERM_2"
                    ],
                    "replacementTerm": "REPLACEMENT_TERM"
                  }
                }
              }
    }' \
    "https://retail.googleapis.com/v2beta/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/controls?controlId=CONTROL_ID"
  

서빙 구성에 컨트롤을 추가하려면 ServingConfig.addControl 메서드를 사용하세요.

고정 컨트롤 만들기

고정 컨트롤을 만들려면 다음 단계를 따르세요.

콘솔

  1. Search for Retail 콘솔의 컨트롤 페이지로 이동합니다.

    컨트롤 페이지로 이동

  2. 서빙 컨트롤 탭에서 컨트롤 만들기를 클릭합니다.

    컨트롤 만들기 창이 열립니다.

  3. 환경설정 섹션의 컨트롤 이름 필드에 새 컨트롤의 이름을 입력합니다.

  4. 선택사항: 자동으로 생성된 컨트롤 ID를 변경하려면 수정을 클릭하고 새 컨트롤 ID를 입력합니다.

  5. 제품 선택 섹션에서 검색 또는 둘러보기를 선택합니다.

  6. 컨트롤 유형으로 고정 컨트롤을 선택합니다. 계속을 클릭합니다.

  7. 트리거 섹션에서 이 컨트롤을 트리거하는 사용자 동작을 선택합니다.

    • 카테고리 탐색: 탐색 요청에는 search.request.query가 비어 있는 것 외에도 page_categories 필드가 채워져 있어야 합니다.

    • 검색: 검색 요청에는 search.request.query만 채워야 합니다.

      기본적으로 탐색한 모든 카테고리와 검색한 모든 검색어가 이 컨트롤을 트리거합니다.

  8. 선택사항: 탐색한 특정 카테고리나 검색한 쿼리에 따라 규칙을 트리거하는 조건을 설정합니다.

    • 카테고리 찾아보기: 카테고리 입력란에 컨트롤을 트리거하는 카테고리를 입력합니다.

    • 검색: 필터링할 검색어 (예: running shoes)를 추가하려면 검색어 추가를 클릭합니다. 각 검색어에 대해 부분 일치 또는 전체 일치를 선택합니다.

  9. 선택사항: 기간 추가 또는 기간 추가를 클릭하여 이 컨트롤을 적용할 수 있는 기간을 하나 이상 추가합니다.

  10. 계속을 클릭하여 작업 섹션으로 이동합니다. 고정 위치의 경우 슬라이더를 사용하여 제품을 고정할 위치를 지정합니다. 고정 값 슬라이더는 0, 음수 또는 정수가 아닌 값을 허용하지 않습니다.

    소매업용 Vertex AI Search에서는 단일 컨트롤의 핀 맵에 10개의 핀을 허용합니다. 위치는 1과 120 (최대 요청 페이지 크기) 사이의 값이 될 수 있습니다.

  11. 계속을 클릭하여 서빙 구성 섹션으로 이동합니다. 컨트롤을 적용할 서빙 구성을 선택하고 컨트롤 설정을 제출합니다.

    새로 생성되거나 업데이트된 컨트롤이 실시간 트래픽을 처리할 준비가 될 때까지 몇 분 정도 걸립니다. 콘솔 평가 페이지에서 변경사항이 적용되었는지 테스트할 수 있습니다.

컨트롤 페이지의 서빙 컨트롤 탭에 새 컨트롤이 나열됩니다.

curl

요청 본문에 포함된 제어 ID와 Control의 인스턴스를 사용하여 Control.create 요청을 실행합니다.

필드 세부정보는 Controls API 참조Controls.create API 참조를 확인하세요.

curl -X POST \
 -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
 -H "Content-Type: application/json; charset=utf-8" \
 -H "X-Goog-User-Project: PROJECT_NUMBER" \
 --data '{
          "displayName": "DisplayName",
          "solutionTypes": "SOLUTION_TYPE_SEARCH",
          "searchSolutionUseCase": ["SEARCH_SOLUTION_USE_CASE_SEARCH"],
     "rule": {
            "condition": {
 "queryTerms": [
                {
                  "value": "Term1",
                  "fullMatch": "boolean: true / false"
                },
                {
                  "value": "Term2",
                  "fullMatch": "boolean: true / false"
                },
             ],
             "activeTimeRange": [
               {
                 "startTime": timestamp1,
                 "endTime": timestamp2
               },
               {
                 "startTime": timestamp3,
                 "endTime": timestamp4
               }
             ]
            },
            "pinAction": {
               "pinMap" :  {
                        "pin_position1": "product_id",
                      "pin_position2": "product_id>"
                    }
            }
              }
}' \
"https://retail.googleapis.com/v2alpha/projects/PROJECT_NUMBER/locations/LOCATION/catalogs/default_catalog/controls?controlId=CONTROL_ID"

pin_position은 [1,10] 사이의 정수여야 하며 product_id은 카탈로그에 있어야 합니다. 핀 맵에서 허용되는 최대 요소 수는 컨트롤당 10개입니다.

그런 다음 고정 컨트롤을 서빙 구성에 연결합니다.

curl -X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-H "X-Goog-User-Project: PROJECT_NUMBER" \
-d '{
      "controlId": "CONTROL_ID"
  }' \
'https://retail.googleapis.com/v2alpha/projects/PROJECT_NUMBER/locations/LOCATION/catalogs/default_catalog/servingConfigs/SERVING_CONFIG_ID:addControl'

이 경우 CONTROL_ID는 이전에 만든 고정 컨트롤 id여야 합니다.

서빙 구성에 컨트롤을 추가하려면 ServingConfig.addControl 메서드를 사용하세요.

마지막으로 설정을 테스트하려면 검색 요청을 합니다. 요청에 고정 컨트롤이 제대로 적용되도록 하려면 이전 단계에서 만든 컨트롤에 제공된 검색어 (검색) 또는 페이지 카테고리 (탐색)를 사용하세요.

콘솔

  1. Search for Retail 콘솔에서 평가 페이지로 이동합니다.

    평가 페이지로 이동

  2. 검색 탭으로 이동합니다.

  3. 검색어 필드에 테스트 검색어를 입력합니다.

  4. 검색 미리보기를 클릭합니다.

  5. 결과를 확인하여 선택한 제품이 고정되었는지 확인합니다.

curl

curl -s -X POST -H "Authorization: Bearer " -H "Content-Type: application/json"
--data "{'query': '','visitorId': ''}" \ "https://retail.googleapis.com/v2/projects/PROJECT/locations/global/catalogs/CATALOG/placements/default_search:search"

오류 검사 제약조건

오류 검사의 경우 다음 제약 조건에 유의하세요.

  • 두 제품을 동일한 위치에 고정할 수 없습니다. 즉, 제품 'a'와 'b'가 모두 2번 위치를 차지할 수 없습니다.
  • 반대로 하나의 제품을 두 개 이상의 위치에 고정할 수는 없습니다. 즉, 동일한 검색어에 대해 제품 'a'를 동시에 2번과 3번 위치에 고정할 수는 없습니다.
  • 필터나 정렬이 적용되지 않는다고 가정하면 product_id는 카탈로그에 제품으로 존재해야 합니다.