서빙 컨트롤 만들기

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

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

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

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 검색어가 검색에 사용되지 않게 하는 컨트롤입니다.
    • 무시: 특정 검색어가 검색에 사용되지 않도록 방지합니다.
    • 대체: 검색어에서 용어를 바꿉니다.

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

리디렉션 제어 튜토리얼

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


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

둘러보기


새 서빙 컨트롤 만들기

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

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

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

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

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

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

콘솔

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

    컨트롤 페이지로 이동

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

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

환경설정 섹션에서 다음을 수행합니다.

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

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

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

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

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

트리거 섹션에서 컨트롤을 트리거하는 조건을 설정합니다.

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

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

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

    다음 단계에서 이 컨트롤을 트리거할 수 있는 특정 카테고리나 쿼리를 설정할 수 있습니다. 카테고리를 탐색하거나 쿼리를 검색할 때 이 컨트롤을 트리거하도록 설정하려면 다음 단계를 건너뜁니다.

  2. 선택사항: 특정 카테고리를 살펴보거나 특정 쿼리를 검색하는지에 따라 규칙을 트리거하는 컨트롤 조건을 설정합니다.

    이 컨트롤이 모든 카테고리 또는 쿼리에서 트리거되도록 설정하려면 이 단계를 건너뜁니다.

    사용 가능한 옵션은 카테고리 찾아보기 또는 검색 중 무엇을 선택했는지에 따라 다릅니다.

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

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

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

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

    이러한 유형의 조건 외에 시간 범위 조건을 지정하면 두 조건이 모두 충족되는 경우에만 컨트롤이 적용됩니다.

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

    시간 범위 조건 외에 카테고리 또는 검색어 조건을 지정하면 두 조건이 모두 충족되는 경우에만 컨트롤이 적용됩니다.

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

작업 섹션에서 다음을 수행합니다.

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

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

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

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

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

서빙 구성 섹션에서 다음을 수행합니다.

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

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

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

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

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. 서빙 컨트롤 탭에서 컨트롤 만들기를 클릭합니다.

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

환경설정 섹션에서 다음을 수행합니다.

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

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

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

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

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

작업 섹션에서 다음을 수행합니다.

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

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

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

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

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

서빙 구성 섹션에서 다음을 수행합니다.

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

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

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

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

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. 서빙 컨트롤 탭에서 컨트롤 만들기를 클릭합니다.

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

환경설정 섹션에서 다음을 수행합니다.

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

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

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

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

트리거 섹션에서 다음을 수행합니다.

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

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

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

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

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

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

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

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

    이 조건 외에도 기간 조건을 지정하면 두 조건이 모두 충족되는 경우에만 컨트롤이 적용됩니다.

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

    시간 범위 조건 외에 카테고리 또는 검색어 조건을 지정하면 두 조건이 모두 충족되는 경우에만 컨트롤이 적용됩니다.

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

작업 섹션에서 다음을 수행합니다.

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

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

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

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

서빙 구성 섹션에서 다음을 수행합니다.

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

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

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

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

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. 서빙 컨트롤 탭에서 컨트롤 만들기를 클릭합니다.

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

환경설정 섹션에서 다음을 수행합니다.

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

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

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

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

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

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

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

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

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

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

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

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

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

    이 조건 외에도 기간 조건을 지정하면 두 조건이 모두 충족되는 경우에만 컨트롤이 적용됩니다.

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

    시간 범위 조건 외에 카테고리 또는 검색어 조건을 지정하면 두 조건이 모두 충족되는 경우에만 컨트롤이 적용됩니다.

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

작업 섹션에서 다음을 수행합니다.

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

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

서빙 구성 섹션에서 다음을 수행합니다.

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

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

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

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

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. 컨트롤 이름 필드에 새 컨트롤의 이름을 입력합니다.

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

환경설정 섹션에서 다음을 수행합니다.

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

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

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

트리거 섹션에서 다음을 수행합니다.

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

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

작업 섹션에서 다음을 수행합니다.

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

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

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

서빙 구성 섹션에서 다음을 수행합니다.

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

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

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

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

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. 서빙 컨트롤 탭에서 컨트롤 만들기를 클릭합니다.

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

환경설정 섹션에서 다음을 수행합니다.

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

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

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

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

트리거 섹션에서 다음을 수행합니다.

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

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

작업 섹션에서 다음을 수행합니다.

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

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

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

서빙 구성 섹션에서 다음을 수행합니다.

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

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

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

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

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. 서빙 컨트롤 탭에서 컨트롤 만들기를 클릭합니다.

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

환경설정 섹션에서 다음을 수행합니다.

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

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

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

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

트리거 섹션에서 다음을 수행합니다.

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

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

작업 섹션에서 다음을 수행합니다.

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

  2. 연관되지 않은 검색어 검색 결과와 연관되어서는 안 되는 검색어와 필드에 지정한 검색어를 입력합니다.

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

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

서빙 구성 섹션에서 다음을 수행합니다.

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

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

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

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

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. 서빙 컨트롤 탭에서 컨트롤 만들기를 클릭합니다.

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

환경설정 섹션에서 다음을 수행합니다.

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

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

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

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

트리거 섹션에서 다음을 수행합니다.

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

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

작업 섹션에서 다음을 수행합니다.

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

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

서빙 구성 섹션에서 다음을 수행합니다.

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

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

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

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

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. 서빙 컨트롤 탭에서 컨트롤 만들기를 클릭합니다.

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

환경설정 섹션에서 다음을 수행합니다.

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

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

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

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

트리거 섹션에서 다음을 수행합니다.

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

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

작업 섹션에서 다음을 수행합니다.

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

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

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

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

서빙 구성 섹션에서 다음을 수행합니다.

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

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

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

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

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 메서드를 사용하세요.