設定放送控制選項

放送控制項 (也稱為控制項) 會變更要求傳回結果時的預設放送方式。服務控制項會在資料儲存層級運作。

舉例來說,控制項可以提高/降低搜尋結果排名、從傳回的結果中篩除項目、將字串彼此關聯為同義詞,或將結果重新導向至指定 URI。

關於供應控制項

如要變更要求結果,請先建立放送控制項。然後將該控制項附加至應用程式的供應設定供應設定會設定用於產生供應時間結果 (例如搜尋結果或答案) 的中繼資料。只有在供應控制項附加至應用程式的供應設定時,才會影響應用程式放送的請求。

部分控制項 (例如升幅控制項) 依附於資料儲存區。如果從應用程式中移除資料儲存庫,系統也會從該應用程式中移除任何依附於資料儲存庫的控制項,並停用這些控制項,但不會刪除。

供應控制項類型

可用的放送控制項類型如下:

控管 說明 適用的裝置
提升控制力 變更傳回結果的順序 支援結構定義的資料儲存庫,例如包含結構化資料或含有中繼資料的非結構化資料
篩選器控制項 從傳回的結果中移除項目 支援結構定義的資料儲存庫,例如包含結構化資料或含有中繼資料的非結構化資料
同義詞控制項 將查詢彼此建立關聯 使用結構化或非結構化資料儲存庫的搜尋應用程式
重新導向控制 重新導向至指定 URI 所有搜尋應用程式
宣傳控制項 針對查詢宣傳指定連結 使用結構化或非結構化資料儲存庫的搜尋應用程式

關於條件

建立控制項時,您可以選擇定義條件,決定何時套用控制項。條件是使用條件欄位定義的。可用的條件欄位如下:

  • queryTerms。這項選用控制選項會在搜尋特定查詢時套用,使用 queryTerms 條件時,如果 queryTerms 的值與 SearchRequest.query 中的字詞相符,系統就會套用控制項。只有在 Control.searchUseCase 設為 SOLUTION_TYPE_SEARCH 時,才能使用查詢字詞。單一 Control.condition 最多可指定 10 個不同的 queryTerms。如未指定任何查詢字詞,系統會忽略 queryTerms 欄位。

    如要順利建立升級控制項,您必須指定 queryTerms 欄位,並將 fullMatch 設為 truefalse

  • activeTimeRange:選用控制項,用於在指定時間範圍內發生要求時套用。檢查要求的接收時間是否介於 activeTimeRange.startTimeactiveTimeRange.endTime 之間。單一 Control.condition 最多可指定 10 個 activeTimeRange 範圍。如未指定 activeTimeRange 欄位,系統會忽略該欄位。

如果為控制項指定多個條件,則當兩種條件類型都符合時,系統會將控制項套用至搜尋要求。如果為相同條件指定多個值,只要其中一個值相符,該條件就會成立。

舉例來說,假設您指定了兩個查詢字詞,並設定下列條件:

"queryTerms": [
  {
    "value": "gShoe",
    "fullMatch": true
  },
  {
    "value": "gBoot",
    "fullMatch": true
  }
]

如果要求包含 SearchRequest.query="gShoe"SearchRequest.query="gBoot",就會符合條件,但如果包含 SearchRequest.query="gSandal" 或任何其他字串,就不符合條件。

如未指定任何條件,系統一律會套用控管機制。

詳情請參閱 API 參考資料中的 Condition 欄位。

建立及附加放送量提升控制項

放送控制項會根據套用的條件升級或降級結果,藉此重新排序結果。如果文件符合提升條件,系統就會套用乘數,提高文件排名。

請按照下列操作說明建立放送量提升控制項。

控制台

如要使用 Google Cloud 控制台建立及附加升幅控制項,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Gemini Enterprise」頁面。

    Gemini Enterprise

  2. 選取要建立升級控制項的應用程式。

  3. 按一下「Configurations」(設定),然後按一下「Control」(控制) 分頁標籤。

  4. 按一下「建立控制項」

  5. 在「您想做什麼?」部分,指定控制項名稱並輸入:

    1. 在「控制選項名稱」部分,輸入提高/降低排名控制選項的名稱。

    2. 在「Control Type」(控制類型) 部分,選取「Boost/bury」(升級/埋藏)

    3. 按一下「繼續」

  6. 在「設定規則範圍和影響」部分,定義要透過這個控制項觸發的動作:

    1. 從清單中選取資料儲存庫。如要將動作套用至多個資料儲存庫,請為每個資料儲存庫建立控管機制。

    2. 如要篩選,請新增篩選條件。

      這是指文件必須符合的要求。只有在文件符合所有規定時,系統才會套用加成條件。否則不會有任何變更。如未指定篩選條件,系統會將加成套用至資料儲存庫中的所有文件。

      如需篩選語法的相關資訊,請參閱篩選運算式語法

    3. 在「Boost/bury value」中,使用滑桿選取 [-1, 1] 範圍內的升級/埋沒值。滑桿會以 0.01 為單位移動。

    4. 按一下「繼續」

  7. 如要設定這項規則的啟用時間點 (選用),請設定下列觸發控管的條件。如未設定任何條件,則此控制項隨時都會處於有效狀態:

    1. 新增部分比對查詢字詞。當這些查詢字詞部分相符時,控制項就會生效。

    2. 新增完全比對查詢字詞。只有在這些查詢字詞完全相符時,控制項才會生效。

    3. 如要新增有效時段,請按一下「新增時段」,然後設定「開始時間 1」和「結束時間 1」。這會定義條件處於有效狀態的視窗。最多可新增 10 個時間範圍。

    4. 按一下「繼續」

  8. 在「其他設定」中,選擇是否要啟用規則:

    1. 如不想在建立這項控管機制後立即啟用,請關閉「立即發布這項控管機制」

    2. 按一下「繼續」

  9. 按一下「提交」

REST

提升放送控制項是指具有 boostAction 的控制項。

請按照下列操作說明建立放送量提升控制項。

如需欄位詳細資料,請參閱 engines.controls API 參考資料engines.controls.create API 參考資料

  1. 找出應用程式 ID。如果已有應用程式 ID,請跳到下一個步驟。

    1. 前往 Google Cloud 控制台的「Gemini Enterprise」頁面。

      前往「應用程式」

    2. 在「應用程式」頁面中找出應用程式名稱,然後從「ID」欄取得應用程式的 ID。

  2. 執行下列 curl 指令來建立控制項。

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/controls?controlId=CONTROL_ID" \
    -d '{
    "displayName": "DISPLAY_NAME",
    "solutionType": "SOLUTION_TYPE_SEARCH",
    "useCases": [
      "USE_CASE"
    ],
    "conditions": {
     "queryTerms": [
       {
         "value": "VALUE",
         "fullMatch": FULL_MATCH
       }
     ],
     "activeTimeRange": [
       {
         "startTime": "START_TIMESTAMP",
         "endTime": "END_TIMESTAMP"
       }
     ]
    },
    "boostAction": {
      "boost": BOOST_VALUE,
      "filter": "FILTER",
      "dataStore": "DATA_STORE_RESOURCE_PATH"
     }
    }'

    更改下列內容:

    • PROJECT_ID: Google Cloud 專案的編號或 ID。
    • APP_ID:應用程式 ID。
    • CONTROL_ID:控制項的專屬 ID。 ID 可包含 [1-63] 個字元,可以是字母、數字、連字號和底線。
    • DISPLAY_NAME:控制項的人類可讀名稱。Google 建議這個名稱應指出何時或為何要使用控制項。必須是長度介於 [1,128] 的 UTF-8 編碼字串。
    • USE_CASE:必須是 SEARCH_USE_CASE_SEARCHSEARCH_USE_CASE_BROWSE。如果指定 SEARCH_USE_CASE_BROWSE,條件中就不能使用 Condition.queryTerms
    • CONDITION:選用欄位,用於定義應套用控制項的時間。包含下列欄位:
      • VALUE:要比對的特定查詢值。這是長度為 [1, 5000] 的小寫 UTF-8 字串。如果 FULL_MATCH_1true,這個欄位最多可包含三個以空格分隔的字詞。
      • FULL_MATCH:布林值,表示搜尋查詢是否需要與查詢字詞完全相符。設為 true 時,SearchRequest.query 必須與 queryTerm.value 完全相符。設為 false 時,SearchRequest.query 必須包含 queryTerm.value 做為子字串。
      • START_TIMESTAMP:RFC 3339 世界標準時間「Zulu」格式的時間戳記,表示時間範圍的開始時間。
      • END_TIMESTAMP:RFC 3339 世界標準時間「Zulu」格式的時間戳記,表示時間範圍的結尾。
    • BOOST_VALUE: 範圍 [-1,1] 中的浮點數。如果值為負數,結果會遭到降級 (顯示在結果的較下方)。如果值為正數,結果就會獲得升級 (在結果中排名較高)。詳情請參閱 boostAction 的說明。
    • FILTER:指定文件必須符合哪些要求的字串。如果文件符合所有規定,系統就會套用加成。否則不會有任何變更。如果這個欄位留空,系統就會將加成套用至資料儲存庫中的所有文件。如需篩選語法,請參閱篩選運算式語法。 注意:無法篩選文件欄位 title
    • DATA_STORE_RESOURCE_PATH:資料儲存庫的完整資源路徑,該儲存庫的文件應由這項控制項提升。完整資源路徑的格式為 projects/PROJECT_NUMBER/locations/LOCATION_ID/collections/default_collection/dataStores/DATA_STORE_ID。這個資料儲存庫必須附加至要求中指定的引擎。
  3. 使用 engines.servingConfigs.patch 方法,將控管機制附加至應用程式的供應設定。

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search?update_mask=boost_control_ids" \
    -d '{
     "boostControlIds": ["BOOST_ID_1", "BOOST_ID_2"]
    }'

    BOOST_ID_N 替換為您在上一個步驟中建立的控制項 ID。

建立及附加篩選器放送控制項

篩選器服務控制項定義為具有 filterAction 的控制項。

請按照下列操作說明建立篩選器放送控制選項。

控制台

如要使用 Google Cloud 控制台建立及附加篩選器控制項,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Gemini Enterprise」頁面。

    Gemini Enterprise

  2. 選取要建立篩選器控制項的應用程式。

  3. 按一下「Configurations」(設定),然後按一下「Control」(控制) 分頁標籤。

  4. 按一下「建立控制項」

  5. 在「您想做什麼?」部分,指定控制項名稱並輸入:

    1. 在「控制項名稱」中,輸入篩選器控制項的名稱。

    2. 在「控制項類型」部分選取「篩選器」

    3. 按一下「繼續」

  6. 在「設定規則範圍和影響」部分,定義要透過這個控制項觸發的動作:

    1. 從清單中選取資料儲存庫。如要將動作套用至多個資料存放區,請為每個資料存放區建立控制項。

    2. 如果是篩選器,請指定規則要尋找的項目。您可以使用 ANDOR NOT 組合搜尋字詞,並使用 () 將字詞分組。如要搜尋完全相符的詞組,請使用半形引號 (""),例如:category: "electronics" AND price < 500, status: "open" AND priority:"P1"

      如需篩選語法的相關資訊,請參閱篩選運算式語法

    3. 按一下「繼續」

  7. 如要設定這項規則的啟用時間點 (選用),請設定下列觸發控管的條件。如未設定任何條件,則此控制項隨時都會處於有效狀態:

    1. 新增部分比對查詢字詞。當這些查詢字詞部分相符時,控制項就會生效。

    2. 新增完全比對查詢字詞。只有在這些查詢字詞完全相符時,控制項才會生效。

    3. 如要新增有效時段,請按一下「新增時段」,然後設定「開始時間 1」和「結束時間 1」。這會定義條件處於有效狀態的視窗。最多可新增 10 個時間範圍。

    4. 按一下「繼續」

  8. 在「其他設定」中,選擇是否要啟用規則:

    1. 如不想在建立這項控管機制後立即啟用,請關閉「立即發布這項控管機制」

    2. 按一下「繼續」

  9. 按一下「提交」

REST

如需欄位詳細資料,請參閱 engines.controls API 參考資料engines.controls.create API 參考資料

  1. 找出應用程式 ID。如果已有應用程式 ID,請跳到下一個步驟。

    1. 前往 Google Cloud 控制台的「Gemini Enterprise」頁面。

      前往「應用程式」

    2. 在「應用程式」頁面中找出應用程式名稱,然後從「ID」欄取得應用程式的 ID。

  2. 執行下列 curl 指令來建立控制項。

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/controls?controlId=CONTROL_ID" \
    -d '{
    "displayName": "DISPLAY_NAME",
    "solutionType": "SOLUTION_TYPE_SEARCH",
    "useCases": ["USE_CASE"],
    "conditions": {
      "queryTerms": [
        {
          "value": "VALUE",
          "fullMatch": FULL_MATCH
        }
      ],
      "activeTimeRange": [
        {
          "startTime": "START_TIMESTAMP",
          "endTime": "END_TIMESTAMP"
        }
      ]
    },
    "filterAction": {
      "filter": "FILTER"
     }
    }'

    更改下列內容:

    • PROJECT_ID: Google Cloud 專案的編號或 ID。
    • APP_ID:應用程式 ID。
    • CONTROL_ID:控制項的專屬 ID。 ID 可包含 [1-63] 個字元,可以是字母、數字、連字號和底線。
    • DISPLAY_NAME:控制項的人類可讀名稱。Google 建議這個名稱應指出何時或為何要使用控制項。必須是長度介於 [1,128] 的 UTF-8 編碼字串。
    • USE_CASE:必須是 SEARCH_USE_CASE_SEARCHSEARCH_USE_CASE_BROWSE。如果指定 SEARCH_USE_CASE_BROWSE,條件中就不能使用 Condition.queryTerms
    • CONDITION:選用欄位,用於定義應套用控制項的時間。包含下列欄位:
      • VALUE:要比對的特定查詢值。這是長度為 [1, 5000] 的小寫 UTF-8 字串。如果 FULL_MATCH_1true,這個欄位最多可包含三個以空格分隔的字詞。
      • FULL_MATCH:布林值,表示搜尋查詢是否需要與查詢字詞完全相符。設為 true 時,SearchRequest.query 必須與 queryTerm.value 完全相符。設為 false 時,SearchRequest.query 必須包含 queryTerm.value 做為子字串。
      • START_TIMESTAMP:RFC 3339 世界標準時間「Zulu」格式的時間戳記,表示時間範圍的開始時間。
      • END_TIMESTAMP:RFC 3339 世界標準時間「Zulu」格式的時間戳記,表示時間範圍的結尾。
    • FILTER:指定文件必須符合哪些要求的字串。如果文件符合所有規定,就會在結果中傳回。否則文件不會出現在結果中。如需篩選語法的相關資訊,請參閱「篩選運算式語法」。 詳情請參閱「filterAction」。注意:無法篩選文件欄位 title
  3. 使用 engines.servingConfigs.patch 方法,將控管機制附加至應用程式的供應設定。

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search?update_mask=filter_control_ids" \
    -d '{
      "filterControlIds": ["FILTER_ID_1", "FILTER_ID_2"]
    }'

    FILTER_ID_N 替換為您在上一個步驟中建立的控制項 ID。

建立及附加同義字放送控制項

同義字放送控制項是指具有 synonymsAction 的控制項。

請按照下列操作說明建立同義字放送控制項。

控制台

如要使用 Google Cloud 控制台建立及附加同義字控制項,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Gemini Enterprise」頁面。

    Gemini Enterprise

  2. 選取要建立同義字控制項的應用程式。

  3. 按一下「Configurations」(設定),然後按一下「Control」(控制) 分頁標籤。

  4. 按一下「建立控制項」

  5. 在「您想做什麼?」部分,指定控制項名稱並輸入:

    1. 在「為控制項命名」部分,輸入同義字控制項的名稱。

    2. 在「控制項類型」部分,選取「同義字」

    3. 按一下「繼續」

  6. 在「設定規則範圍和影響」部分,定義要透過這個控制項觸發的動作:

    1. 輸入要納入控制項的同義字。舉例來說,請輸入「cats」,然後按 Return 鍵 (不是逗號),再輸入「feline」

    2. 按一下「繼續」

  7. 如要設定這項規則的啟用時間點 (選用),請設定下列觸發控管的條件。如未設定任何條件,則此控制項隨時都會處於有效狀態:

    1. 如要新增有效時段,請按一下「新增時段」,然後設定「開始時間 1」和「結束時間 1」。這會定義條件處於有效狀態的視窗。最多可新增 10 個時間範圍。

    2. 按一下「繼續」

  8. 在「其他設定」中,選擇是否要啟用規則:

    1. 如不想在建立這項控管機制後立即啟用,請關閉「立即發布這項控管機制」

    2. 按一下「繼續」

  9. 按一下「提交」

REST

如需欄位詳細資料,請參閱 engines.controls API 參考資料engines.controls.create API 參考資料

  1. 找出應用程式 ID。如果已有應用程式 ID,請跳到下一個步驟。

    1. 前往 Google Cloud 控制台的「Gemini Enterprise」頁面。

      前往「應用程式」

    2. 在「應用程式」頁面中找出應用程式名稱,然後從「ID」欄取得應用程式的 ID。

  2. 執行下列 curl 指令來建立控制項。

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/controls?controlId=CONTROL_ID" \
    -d '{
    "displayName": "DISPLAY_NAME",
    "solutionType": "SOLUTION_TYPE_SEARCH",
    "useCases": ["USE_CASE"],
    "conditions": {
      "queryTerms": [
        {
          "value": "VALUE",
          "fullMatch": FULL_MATCH
        }
      ],
      "activeTimeRange": [
        {
          "startTime": "START_TIMESTAMP",
          "endTime": "END_TIMESTAMP"
        }
      ]
    },
    "synonymsAction": {
      "synonyms": ["SYNONYMS_1","SYNONYMS_2"]
     }
    }'

    更改下列內容:

    • PROJECT_ID: Google Cloud 專案的編號或 ID。
    • APP_ID:應用程式 ID。
    • CONTROL_ID:控制項的專屬 ID。 ID 可包含 [1-63] 個字元,可以是字母、數字、連字號和底線。
    • DISPLAY_NAME:控制項的人類可讀名稱。Google 建議這個名稱應指出何時或為何要使用控制項。必須是長度介於 [1,128] 的 UTF-8 編碼字串。
    • USE_CASE:必須是 SEARCH_USE_CASE_SEARCHSEARCH_USE_CASE_BROWSE。如果指定 SEARCH_USE_CASE_BROWSE,條件中就不能使用 Condition.queryTerms
    • CONDITION:選用欄位,用於定義應套用控制項的時間。包含下列欄位:
      • VALUE:要比對的特定查詢值。這是長度為 [1, 5000] 的小寫 UTF-8 字串。如果 FULL_MATCH_1true,這個欄位最多可包含三個以空格分隔的字詞。
      • FULL_MATCH:布林值,表示搜尋查詢是否需要與查詢字詞完全相符。設為 true 時,SearchRequest.query 必須與 queryTerm.value 完全相符。設為 false 時,SearchRequest.query 必須包含 queryTerm.value 做為子字串。
      • START_TIMESTAMP:RFC 3339 世界標準時間「Zulu」格式的時間戳記,表示時間範圍的開始時間。
      • END_TIMESTAMP:RFC 3339 世界標準時間「Zulu」格式的時間戳記,表示時間範圍的結尾。
    • SYNONYMS_N:彼此相關的字串清單,可讓每個字串顯示類似結果的機率更高。雖然搜尋每個同義字條目時,您很可能會得到類似的結果,但您可能無法收到所有相關同義字的所有相關結果。您至少須指定兩個同義字,最多可指定 100 個同義字。每個同義字都必須採用 UTF-8 編碼,且為小寫。字串不得重複。舉例來說,您可以將「Pixel」、「Android 手機」和「Google 手機」新增為同義字。詳情請參閱「synonymsAction」。
  3. 使用 engines.servingConfigs.patch 方法,將控管機制附加至應用程式的供應設定。

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search?update_mask=synonyms_control_ids" \
    -d '{
      "synonymsControlIds": ["SYNONYMS_ID_1", "SYNONYMS_ID_2"]
    }'

    SYNONYMS_ID_N 替換為您在上一個步驟中建立的控制項 ID。

建立並附加重新導向放送控制項

重新導向放送控制項可將使用者重新導向至提供的 URI。重新導向控制項定義為具有 redirectAction 的控制項。

請按照下列操作說明建立重新導向供應控制項。

如需欄位詳細資料,請參閱 engines.controls API 參考資料engines.controls.create API 參考資料

  1. 找出應用程式 ID。如果已有應用程式 ID,請跳到下一個步驟。

    1. 前往 Google Cloud 控制台的「Gemini Enterprise」頁面。

      前往「應用程式」

    2. 在「應用程式」頁面中找出應用程式名稱,然後從「ID」欄取得應用程式的 ID。

  2. 執行下列 curl 指令來建立控制項。

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/controls?controlId=CONTROL_ID" \
    -d '{
    "displayName": "DISPLAY_NAME",
    "solutionType": "SOLUTION_TYPE_SEARCH",
    "useCases": ["USE_CASE"],
    "conditions": {
      "queryTerms": [
        {
          "value": "VALUE",
          "fullMatch": FULL_MATCH
        }
      ],
      "activeTimeRange": [
        {
          "startTime": "START_TIMESTAMP",
          "endTime": "END_TIMESTAMP"
        }
      ]
    },
    "redirectAction": {
      "redirectURI": "REDIRECT_URI"
     }
    }'

    更改下列內容:

    • PROJECT_ID: Google Cloud 專案的編號或 ID。
    • APP_ID:應用程式 ID。
    • CONTROL_ID:控制項的專屬 ID。 ID 可包含 [1-63] 個字元,可以是字母、數字、連字號和底線。
    • DISPLAY_NAME:控制項的人類可讀名稱。Google 建議這個名稱應指出何時或為何要使用控制項。必須是長度介於 [1,128] 的 UTF-8 編碼字串。
    • USE_CASE:必須是 SEARCH_USE_CASE_SEARCHSEARCH_USE_CASE_BROWSE。如果指定 SEARCH_USE_CASE_BROWSE,條件中就不能使用 Condition.queryTerms
    • CONDITION:選用欄位,用於定義應套用控制項的時間。包含下列欄位:
      • VALUE:要比對的特定查詢值。這是長度為 [1, 5000] 的小寫 UTF-8 字串。如果 FULL_MATCH_1true,這個欄位最多可包含三個以空格分隔的字詞。
      • FULL_MATCH:布林值,表示搜尋查詢是否需要與查詢字詞完全相符。設為 true 時,SearchRequest.query 必須與 queryTerm.value 完全相符。設為 false 時,SearchRequest.query 必須包含 queryTerm.value 做為子字串。
      • START_TIMESTAMP:RFC 3339 世界標準時間「Zulu」格式的時間戳記,表示時間範圍的開始時間。
      • END_TIMESTAMP:RFC 3339 世界標準時間「Zulu」格式的時間戳記,表示時間範圍的結尾。
    • REDIRECT_URI_N:重新導向的 URI。長度上限為 2000 個半形字元。舉例來說,如果查詢字詞的值是「支援」,您可以設定重新導向至技術支援頁面,而不是傳回 (或無法傳回)「支援」的搜尋結果。在本範例中,重新導向 URI 會變成 "https://www.example.com/support"。詳情請參閱「redirectAction」。
  3. 使用 engines.servingConfigs.patch 方法,將控管機制附加至應用程式的供應設定。

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search?update_mask=redirect_control_ids" \
    -d '{
      "redirectControlIds": ["REDIRECT_ID_1", "REDIRECT_ID_2"]
    }'

    REDIRECT_ID_N 替換為您在上一個步驟中建立的控制項 ID。

建立及附加宣傳放送控制項

透過宣傳放送控制項,您可以將連結顯示為宣傳結果。 這項控制選項適用於具有結構化或非結構化資料儲存空間的搜尋應用程式,以及混合式搜尋應用程式。

如要讓升級控制項生效,您必須將其附加至應用程式的放送設定。

宣傳控制項是使用 promoteAction 定義。

如要順利建立升級控制項,您必須指定 queryTerms 欄位,並將 fullMatch 設為 truefalse

請按照下列操作說明建立宣傳放送控制項。

控制台

如要建立宣傳供應控制項,請按照「REST」分頁中的指示操作。

REST

如需欄位詳細資料,請參閱 engines.controls API 參考資料engines.controls.create API 參考資料

  1. 找出應用程式 ID。如果已有應用程式 ID,請跳到下一個步驟。

    1. 前往 Google Cloud 控制台的「Gemini Enterprise」頁面。

      前往「應用程式」

    2. 在「應用程式」頁面中找出應用程式名稱,然後從「ID」欄取得應用程式的 ID。

  2. 執行下列 curl 指令來建立控制項。

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/controls?controlId=CONTROL_ID" \
    -d '{
    "displayName": "DISPLAY_NAME",
    "solutionType": "SOLUTION_TYPE_SEARCH",
    "useCases": ["USE_CASE"],
    "conditions": {
      "queryTerms": [
        {
          "value": "VALUE",
          "fullMatch": FULL_MATCH
        }
      ],
      "activeTimeRange": [
        {
          "startTime": "START_TIMESTAMP",
          "endTime": "END_TIMESTAMP"
        }
      ]
    },
    "promoteAction": {
      "dataStore": "DATA_STORE_RESOURCE_PATH",
      "searchLinkPromotion": {
         "document": "DOCUMENT_RESOURCE_PATH",
         "title": "TITLE",
         "uri": "URI",
         "description": "URI_DESCRIPTION"
      }
     }
    }'

    更改下列內容:

    • PROJECT_ID: Google Cloud 專案的編號或 ID。
    • APP_ID:應用程式 ID。
    • CONTROL_ID:控制項的專屬 ID。 ID 可包含 [1-63] 個字元,可以是字母、數字、連字號和底線。
    • DISPLAY_NAME:控制項的人類可讀名稱。Google 建議這個名稱應指出何時或為何要使用控制項。必須是長度介於 [1,128] 的 UTF-8 編碼字串。
    • USE_CASE:必須是 SEARCH_USE_CASE_SEARCHSEARCH_USE_CASE_BROWSE。如果指定 SEARCH_USE_CASE_BROWSE,條件中就不能使用 Condition.queryTerms
    • CONDITION:選用欄位,用於定義應套用控制項的時間。包含下列欄位:
      • VALUE:要比對的特定查詢值。這是長度為 [1, 5000] 的小寫 UTF-8 字串。
      • FULL_MATCH:布林值,表示查詢字詞是否必須完全相符。
      • START_TIMESTAMP:RFC 3339 世界標準時間「Zulu」格式的時間戳記,表示時間範圍的開始時間。
      • END_TIMESTAMP:RFC 3339 世界標準時間「Zulu」格式的時間戳記,表示時間範圍的結尾。
    • DATA_STORE_RESOURCE_PATH:資料儲存庫的完整資源路徑,該儲存庫的搜尋結果包含宣傳的網址。完整資源路徑的格式為 projects/PROJECT_NUMBER/locations/LOCATION_ID/collections/default_collection/dataStores/DATA_STORE_ID。這個資料儲存庫必須附加至要求中指定的引擎。
    • DOCUMENT_RESOURCE_PATH:這個欄位用於指定要升級的文件資源路徑。您必須在 DOCUMENT_RESOURCE_PATH 欄位中提供文件 ID、在 URI 欄位中提供 URI,或同時提供這兩者。

      完整資源路徑的格式為: projects/PROJECT_NUMBER/locations/LOCATION_ID/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents/DOCUMENT_ID

    • TITLE:必要欄位,用於指定要宣傳的文件或網頁標題。這個標題會顯示在搜尋結果中。

    • URI:這個欄位可指定 URI,讓搜尋結果將使用者導向該處。您必須在 DOCUMENT_RESOURCE_PATH 欄位中提供文件 ID、在 URI 欄位中提供 URI,或同時提供這兩者。

    • URI_DESCRIPTION:選用欄位,用於說明 URI,並顯示在搜尋結果中。

    回應包含宣傳控制 ID,您需要將宣傳控制項附加至搜尋應用程式。

  3. 使用 engines.servingConfigs.patch 方法,將控管機制附加至應用程式的供應設定。在下列要求中附加 promoteControlIds 的順序,就是系統傳回宣傳結果的順序。

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search?update_mask=promote_control_ids" \
    -d '{
      "promoteControlIds": ["PROMOTE_ID_1", "PROMOTE_ID_2"]
    }'

    PROMOTE_ID_N 替換為您在上一個步驟中收到的控制項 ID。

修改供應控制項

如要修改控制項的設定,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Gemini Enterprise」頁面。

    Gemini Enterprise

  2. 選取要修改控制選項的應用程式。

  3. 按一下「Configurations」(設定),然後按一下「Control」(控制) 分頁標籤。

  4. 在應用程式控制項清單中,按一下要修改的控制項 ,然後按一下「編輯」

  5. 在「編輯控制項」窗格中編輯控制項:

    1. 如要啟用或停用控制項,請在應用程式篩選控制項清單中,按一下要啟用或停用控制項的 ,然後分別點選「啟用」或「停用」

    2. 如要刪除控制項,請在應用程式控制項清單中,按一下要刪除的控制項的 ,然後按一下「刪除」

後續步驟

  • 如要瞭解放送控制項對應用程式搜尋品質的影響,請評估搜尋品質