이 페이지에서는 서빙 컨트롤을 만드는 방법을 설명합니다.
서빙 컨트롤은 개별 서빙 구성에 대해 정의하고 적용하는 규칙입니다.
Gemini Enterprise for Customer Experience 콘솔의 AI Commerce Search에서 컨트롤을 트리거하는 조건과 조건이 트리거될 때 수행되는 작업으로 구성된 서빙 컨트롤을 만들 수 있습니다. 그런 다음 새 서빙 컨트롤을 서빙 구성에 연결할 수 있습니다.
서빙 컨트롤과 구성 간의 관계
서빙 구성은 제어와 다대다 관계를 갖습니다. 서빙 구성에 여러 컨트롤을 추가할 수 있고 단일 컨트롤을 여러 서빙 구성과 연결할 수 있습니다.
서빙 컨트롤과 서빙 구성을 만들 때 컨트롤을 사용할 수 있는 제품 (추천 또는 검색)을 선택합니다.
서빙 컨트롤은 동일한 제품 유형의 서빙 구성과만 연결될 수 있습니다. 예를 들어 추천용으로 생성된 서빙 컨트롤은 검색용으로 생성된 서빙 구성과 연결될 수 없습니다.

서빙 구성은 검색 또는 예측 요청 중에 적용되는 컨트롤을 관리합니다. 서빙 시 요청의 활성 서빙 구성에 대한 컨트롤만 고려됩니다. 예를 들어 신발을 검색할 때 gShoe 브랜드의 결과를 부스팅하는 gShoe 할인이라는 컨트롤과 런닝화라는 용어를 사용하는 쿼리를 스포츠 신발을 포함하도록 확장하는 신발 더 보기라는 컨트롤을 만들었다고 가정해 보겠습니다. gShoe Sale 컨트롤만 게재 구성에 연결하면 해당 게재 구성을 사용하는 검색 요청은 shoes라는 용어를 사용하는 쿼리에 대한 gShoe 결과를 부스팅하지만 More shoes 컨트롤은 사용 중인 게재 구성에 연결되지 않으므로 효과가 없습니다.
자세한 내용은 서빙 구성 정보를 참고하세요.
빠른 시작 동영상 및 가이드
- 제공 컨트롤 소개: 제공 컨트롤을 사용하면 제공 구성이 검색 결과를 반환하는 방식을 맞춤설정하는 규칙을 만들 수 있습니다.
- 상승/하강: 반환된 결과 목록의 순위와 순서에 영향을 미칩니다.
검색과 추천에 사용할 수 있습니다.
- 필터: 반환된 결과 목록에서 필터를 통과하지 않은 결과를 삭제합니다. 검색에만 사용 가능합니다.
- 리디렉션: 검색 쿼리에 따라 사용자를 특정 페이지로 리디렉션합니다. 검색에만 사용 가능합니다.
이 튜토리얼에서는 리디렉션 제어를 사용하는 방법을 보여줍니다.
Cloud Shell 편집기에서 이 태스크의 단계별 안내를 직접 수행하려면 둘러보기를 클릭합니다.
- 링귀스틱: 검색 쿼리의 언어적 요소를 맞춤설정합니다. 검색에만 사용 가능합니다.
여러 가지 유형의 언어적 컨트롤을 사용할 수 있습니다.
- 동의어: 검색어에서 동의어로 간주되는 범위를 확장합니다.
- 단방향 동의어: 특정 검색어의 동의어를 단방향으로 확장합니다.
- 연관 금지: A 검색어가 표시되었을 때 B 검색어가 검색에 사용되지 않게 하는 컨트롤입니다.
- 무시: 특정 검색어가 검색에 사용되지 않도록 방지합니다.
- 대체: 검색어에서 용어를 바꿉니다.
- 고정: 결과 순서에 영향을 미치며 결과를 특정 위치(예: 4번 위치)에 배치합니다. 검색 및 탐색에 사용할 수 있습니다.
이러한 컨트롤의 예시는 서빙 컨트롤 정보을 참조하세요.
서빙 컨트롤 구성 옵션
컨트롤을 만든 후 실시간 서빙 구성으로 추가하거나 전환할 수 있습니다.
AI Commerce Search에서는 최대 100개의 서빙 컨트롤을 만들 수 있습니다. 더 많은 서빙 컨트롤이 필요한 경우 추가 할당량을 요청하세요. 이렇게 하려면 할당량 늘리기의 단계를 따르세요.
서빙 구성은 검색 리디렉션 컨트롤을 제외한 모든 유형의 서빙 컨트롤을 최대 100개까지 포함할 수 있으며, 이 경우 서빙 구성당 한도는 1,000개입니다. 하나의 서빙 구성에 대한 컨트롤 할당량은 AI Commerce Search API에서 허용되는 컨트롤 유형의 전체 할당량과 다를 수 있습니다.
다음과 같은 방법으로 서빙 컨트롤을 만들 수 있습니다.
Google Cloud 콘솔의 컨트롤 페이지: 여기에서 서빙 구성 생성 프로세스 중에 선택적으로 컨트롤을 만들 수 있습니다.
머천다이징 콘솔을 사용할 수 있습니다.
Controls.create메서드를 사용하여 인라인으로 서빙 컨트롤을 만들 수 있습니다.
Google Cloud 콘솔을 사용하여 서빙 컨트롤을 만들려면 다음 단계를 따르세요.
Gemini Enterprise for Customer Experience 콘솔의 AI Commerce Search에서 컨트롤 페이지로 이동합니다.
컨트롤 페이지로 이동각 서빙 제어 섹션의 Google Cloud 콘솔 단계를 따릅니다.
제어 유형
컨트롤은 유형에 따라 요구사항이 다릅니다. 만들려는 컨트롤 유형의 생성 절차로 이동합니다.
- 부스트/하강 컨트롤 만들기
- 필터 컨트롤 만들기
- 리디렉션 컨트롤 만들기
- 고정 컨트롤 만들기
- 양방향 동의어 컨트롤 만들기
- 단방향 동의어 컨트롤 만들기
- 연관 금지 컨트롤 만들기
- 무시 컨트롤 만들기
- 대체 컨트롤 만들기
부스트/하강 컨트롤 만들기
이 컨트롤 유형은 검색과 추천에 사용 가능합니다.
이 컨트롤 유형에 관한 상세 설명은 부스트/하강 컨트롤을 참조하세요.
검색 부스트/하강 컨트롤 만들기
검색 부스트/하강 컨트롤을 만들려면 다음 안내를 따르세요.
Cloud 콘솔
Gemini Enterprise for Customer Experience 콘솔의 AI Commerce Search에서 컨트롤 페이지로 이동합니다.
컨트롤 페이지로 이동서빙 컨트롤 탭에서 add_box컨트롤 만들기를 클릭합니다.
컨트롤 만들기 창이 열립니다.
환경설정 섹션의 컨트롤 이름 필드에 새 컨트롤의 이름을 입력합니다.
선택사항: 자동으로 생성된 컨트롤 ID를 변경하려면 수정을 클릭하고 새 컨트롤 ID를 입력합니다.
제품 선택 섹션에서 검색을 선택합니다.
컨트롤 유형으로 부스팅/하강 컨트롤을 선택합니다. 계속을 클릭합니다.
트리거 섹션에서 이 컨트롤을 트리거하는 사용자 동작 유형을 선택합니다.
카테고리 찾아보기: 이 규칙은 사용자가 사이트에서 카테고리를 탐색할 때 트리거됩니다(
search.request.query가 비어 있음).검색: 이 규칙은 사용자가 사이트를 검색할 때 트리거됩니다(
search.request.query가 비어있지 않음). 카테고리를 탐색하거나 쿼리를 검색할 때 이 컨트롤을 트리거하도록 설정하려면 다음 단계를 건너뜁니다.
선택사항: 특정 카테고리를 탐색하거나 특정 쿼리를 검색하는지에 따라 이 컨트롤을 트리거할 수 있는 특정 카테고리나 쿼리를 설정합니다.
카테고리 찾아보기를 선택한 경우: 카테고리 필드에서 탐색할 때 이 컨트롤을 트리거할 카테고리를 입력합니다.
검색을 선택한 경우 쿼리 추가 버튼을 클릭하여 필터링할 쿼리 검색어 (예:
running shoes)를 추가합니다. 각 용어에 대해 부분 검색 또는 전체 검색을 선택합니다.
선택사항: 기간 추가 버튼을 클릭하여 이 컨트롤을 적용할 수 있는 시간 범위를 하나 이상 추가합니다.
계속을 클릭하여 작업 섹션으로 이동합니다.
부스트/하강 제품 필드에 제품 속성의 필터를 추가합니다.
필터링 및 순서 지정에 설명된 필터 표현식 문법을 사용합니다. 예를 들어 'product1' 및 'product2'의 빨간색 버전과 파란색 버전(
(id: ANY("product1","product2")) AND (colorFamily: ANY("Red","Blue")))을 지정하려면 다음 안내를 따르세요.부스트/하강 값에서 슬라이더를 사용하여 부스트 강도를 설정합니다. 양수를 사용하면 결과가 상향 조정되고 음수를 사용하면 아래로 내려갑니다. 계속을 클릭합니다.
서빙 구성 섹션에서 컨트롤을 적용할 서빙 구성을 선택합니다.
컨트롤 설정을 제출합니다.
새로 생성되거나 업데이트된 컨트롤이 실시간 트래픽을 처리할 준비가 될 때까지 몇 분 정도 걸립니다. 콘솔 평가 페이지에서 변경사항이 적용되었는지 테스트할 수 있습니다.
이제 컨트롤 페이지의 서빙 컨트롤 탭에 새 컨트롤이 나열됩니다.
curl
요청 본문에 포함된 제어 ID와 Control의 인스턴스를 사용하여 Control.create 요청을 실행합니다.
필드 세부정보는 Controls API 참조 및 Controls.create API 참조를 확인하세요.
사용자가 사이트에서 카테고리를 탐색하거나(search.request.query가 비어 있음) 사용자가 사이트를 검색하는 경우(search.request.query가 비어있지 않음) 부스트/하강 컨트롤이 트리거될 수 있습니다.
다음 예시에서는 browse-triggered 컨트롤의 필드를 보여줍니다. 여기서 searchSolutionUseCase는 SEARCH_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 컨트롤의 필드를 보여줍니다. 여기서 searchSolutionUseCase는 SEARCH_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",