搜尋自動完成功能

本頁面將介紹自動完成功能和使用方式。搜尋功能提供自動完成功能,可預先輸入搜尋框建議。

自動完成功能可預測使用者輸入查詢的其餘部分,改善使用者搜尋體驗,並加快結帳前的購物流程。此外,提供格式正確的查詢,也能提升搜尋回應品質,進而創造更高收益。

總覽

當使用者開始在您的網站上輸入搜尋字詞時,搜尋功能可以提供使用者可能需要的建議清單。舉例來說,使用者輸入「sh」時,系統可能會建議「鞋子」和「襯衫」

資料來源

您可以為建議預測選擇下列其中一個資料來源:

  • 您上傳的 BigQuery 資料集。
  • 使用機器學習技術,根據使用者事件和其他中繼資料產生的資料集。

上傳的資料集

您以資料集形式上傳的 BigQuery 建議資料表,用於建議查詢。如要瞭解如何上傳資料集,請參閱「匯入自動完成資料」。

自動學習資料集

由搜尋功能根據使用者搜尋事件產生的機器學習輔助建議資料集。

如要啟用自動學習功能,請按照下列步驟操作:

Cloud 控制台

  1. 前往「Controls」(控制項) 頁面

  2. 前往「自動完成控制項」分頁。

  3. 按一下「編輯設定」

  4. 開啟「自動學習」

  5. 按一下「儲存設定」

    自動學習功能可能需要 1 到 2 天才會更新。

cURL

curl -X PATCH -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
  -H "Content-Type: application/json" \
  "https://retail.googleapis.com/v2beta/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/completionConfig?update_mask.paths=auto_learning"  --data "{auto_learning: true}"

自動學習資料集必要條件

自動學習功能會根據搜尋類型使用者事件 (eventType = "search") 生成建議。生成建議時,系統會使用過去 180 天的使用者事件。這需要匯入大量優質的使用者事件。

自動學習功能會篩除罕見的建議,因此如果搜尋類型使用者事件數量太少 (少於 20,000 個),系統可能會篩除許多建議候選字。在這種情況下,您可能想先測試自動完成功能,並更頻繁地發出搜尋查詢。

自動學習資料集發布時間表

系統每天會生成自動學習資料集,然後推送至索引和發布程序。完整週期約需兩天。

自動學習功能

搜尋功能會運用機器學習技術,清理查詢和建議資料,並將其格式化,僅供自動學習資料集使用。

功能 說明 範例
移除沒有搜尋結果的搜尋記錄
  • 移除搜尋結果為零的查詢。
以雜貨零售商為例,「Gucci 手提包」的搜尋結果為 0,因此遭到移除。
修正錯字
  • 修正錯別字。
  • 此外,請先清除即時輸入的查詢,再進行比對。
MilcMilk
新增許可清單查詢
  • 系統會新增您明確允許的查詢。
查看「更多資訊」部分
移除封鎖清單查詢
  • 系統會移除您明確封鎖的查詢。
查看「更多資訊」部分
移除不安全的字詞
  • 使用 Google 安全搜尋。
  • 移除不當查詢。
色情、煽情、粗俗或暴力內容
移除非常罕見的字詞
  • AI 系統會根據查詢統計資料調整截斷長度。
  • 如果字詞極為罕見,系統會移除。
74x39x9 英吋雙人雙層氣墊床,附 120V 手持式幫浦。
刪除重複字詞
  • 根據 AI 輔助的語意解讀
  • 如果兩個字詞幾乎相同,系統會比對任一字詞,但只會建議較熱門的字詞。
「女鞋」、「女鞋」和「女鞋」會重複,因此系統只會建議其中一個。

取得完成建議

使用 completeQuery API 擷取建議。範例:

cURL

curl -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
"https://retail.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog:completeQuery?query=sho&dataset=user-data&deviceType=DESKTOP&maxSuggestions=5"

自動完成選項和控制項

本節說明自動完成功能提供的選項和控制項。請參閱下表瞭解總覽和更多詳細資料。

控制項 詳細資料 位置
拒絕清單
  • 手動從建議資料中移除查詢。
API 要求:CompletionData:import。 詳情請參閱「匯入自動完成資料」。
許可清單
  • 手動將查詢新增至建議資料。
API 要求:CompletionData:import (另請參閱「匯入自動完成資料 」)
觸發自動完成功能的長度下限
  • 控制觸發自動完成功能前的字元數。
Cloud 控制台 > 控制項
比對順序
  • 比對順序會決定使用者查詢和建議的比對方式。
Cloud 控制台 > 控制項
建議數量
  • 這是自動完成功能傳回的建議數量。
Cloud 控制台 > 控制項
API 要求:completeQuery.maxSuggestions
裝置類型
  • 指定裝置類型後,系統會根據指定裝置類型的熱門程度產生建議。
  • 如果未指定這項設定,系統會根據所有裝置類型的綜合熱門程度,傳回建議。
API 要求:completeQuery.deviceType
建議資料來源
  • 如果同時有自動產生和上傳的資料來源,您可以在查詢時選擇要使用哪一個。
API 要求:completeQuery.dataset
語言
  • 你可以指定建議使用的語言。
API 要求:completeQuery.languageCodes[]

許可清單 (不要移除清單)

搜尋功能會對自動完成建議資料進行後續處理,例如拼字校正。您可以建立字詞許可清單,讓搜尋在後續處理時略過這些字詞。

系統絕不會從建議中篩除允許的字詞。允許清單適用於上傳的資料集自動學習資料集

示例:有些品牌名稱是故意拼錯,例如「froot loops」而非「fruit」或「foot」。如需詳細的上傳操作說明,請參閱匯入完成資料

如要匯入資料,請依序前往「Cloud console」>「Controls」>「Autocomplete Controls」>「Do Not Remove list」,或在 API 中使用 CompletionData:import

變更會在 2 天內生效。

拒絕清單

拒絕清單僅適用於自動學習資料集。 拒絕清單不適用於上傳的資料集

黑名單中的字詞絕不會出現在建議中。

如要匯入拒絕清單,請依序前往 Cloud 控制台 >「控制項」 >「自動完成控制項」 >「拒絕清單」,或使用 API CompletionData:import。如需匯入拒絕清單的詳細操作說明,請參閱匯入自動完成資料

變更會在 2 天內生效。

觸發長度下限

您可以設定自動完成查詢傳回結果前所需的字元數。如要查看這項設定,請依序前往「Cloud 控制台」>「控制項」 >「自動完成控制項」 >「觸發的最小長度」

變更會立即生效。

比對順序

這項設定會決定如何將建議與使用者輸入的字詞相符。

如果設為「建議字詞開頭為輸入字詞」,自動完成功能會將使用者輸入的字詞視為建議字詞的確切前置字元。舉例來說,使用者輸入「sh」時,系統會比對出「shoes」和「shirts」這兩項建議,但不會比對出「red shoes」這項建議。

如果設為「建議項目的開頭可以是指定字詞的任意部分」,自動完成功能會將使用者輸入的字詞切分成多個字,然後比對建議中的字詞,不論字詞順序為何。舉例來說,使用者輸入的字詞「red sh」會比對出「shirts red」、「red shoes」和「kid red shoes」等建議。不過,由於建議中的字詞開頭都不是「hoes」,因此輸入字詞「hoes」不會與這些建議相符。

如要查看這項設定,請依序前往 Cloud 控制台 >「控制項」 >「自動完成控制項」 >「相符順序」

變更會立即生效。

建議數量

這是指系統會針對自動完成查詢傳回的建議數量,最多 20 個。如要查看這項設定,請依序前往「Cloud 控制台」>「控制項」 >「自動完成控制項」 >「建議數量」,或在 completeQuery 中設定。

變更會立即生效。

裝置類型

搜尋自動完成功能支援不同類型的裝置,例如 mobiledesktop。你可以根據裝置類型上傳或取得不同建議。如果未在 completeQuery 中指定 deviceType,建議會涵蓋所有裝置類型。

如要使用根據搜尋使用者事件建立的自動學習資料集,請在 UserEvent.user_info 中設定 user_agent,支援不同類型的裝置。請參閱維基百科中的使用者代理程式

進階功能

本節說明搜尋功能提供的進階自動完成功能。舉例來說,您可以利用品牌和類別等其他建議,補充查詢自動完成建議。

這些進階功能僅適用於自動學習資料集。

建議 FeatureSet

我們為每個查詢建議字詞提供額外的 FeatureSet,讓顧客在網站上顯示進階功能。

FeatureSet 會以鍵值對應的形式顯示在回應中。Vertex AI Search 電子商務套件會在 completeQuery.completionResults.attributes API 回應中,針對每項查詢建議傳回最多五個相關熱門類別和品牌。FeatureSet 建議不必與使用者輸入的查詢字串相符。

您可以在回應中使用 FeatureSet,豐富搜尋建議。例如:

  • 彙整並建立「熱門品牌」和「熱門類別」專區,顯示在搜尋建議清單下方。
  • 在搜尋建議字詞旁顯示最熱門的品牌或類別。

變更目錄後 (例如變更產品類別),請等待兩週到 30 天,FeatureSet 建議才會反映產品目錄變更。這是因為自動學習功能會根據過去 30 天的搜尋事件資料進行訓練。

屬性建議

搜尋功能會根據使用者輸入的字串提供屬性建議。系統支援的屬性建議類型為品牌和類別。

屬性建議與建議 FeatureSet 不同。屬性建議是建議產品屬性 (例如品牌和類別) 的清單,類似於查詢建議是建議查詢的清單。屬性建議可獨立於查詢建議使用。建議 FeatureSet 是查詢建議的中繼資料,因此取決於查詢建議。

屬性建議可用於自動完成使用者輸入的品牌或類別,並顯示在搜尋建議清單下方的不同區段。

提供產品數的建議 facet (實驗功能)

這項功能仍在實驗階段,僅供部分客戶使用。如要使用,請與支援團隊聯絡。

啟用建議面向和產品數量功能後,傳回的 completeQuery.completionResults 會照常提供自動完成建議清單,但也會提供每項建議的產品數量,以及按面向分類的總數和產品數量 (例如 colorcategory)。

舉例來說,如果搜尋查詢是「鞋」,系統傳回的自動完成建議可能如下:

  • 女鞋
  • 男鞋

此外,如果感興趣的商情項目索引鍵是 color,系統也會在每個自動完成建議中,傳回產品數量和依顏色分類的產品數量:

  • 女鞋 (32)
    • 黑色 (10)
    • 灰褐色 (16)
    • 白色 (10)
  • 男鞋 (43)
    • 黑色 (10)
    • 棕色 (5)
    • 綠色 (17)

身為零售商,你不需要向購物者顯示產品數量,但你可能會決定根據產品數量排序建議清單,而不是 completeQuery.completionResults 中傳回的順序。舉例來說,您可能想鼓勵購物者查看男用綠色鞋款,因此即使綠色鞋款不是最熱門的商品,仍會顯示在建議方塊頂端。

例如:

{
  "completion_results": [{ 
    "suggestion": "womens shoes"
    "facets": [ 
      {
        "key": "color"
        "values": [ 
          {
            "value": "black"
            "count": 10
          }
          {
            "value": "taupe"
            "count": 16
          }
          {
            "value": "white"
            "count": 10
          }
        ]
      }
    ]
    "total_product_count": 32
  },
  (...)
  ],
}

每個建議搜尋查詢的 Facet 數量資訊會顯示為 Facets 清單,位於 completeQuery.completionResults.facets 中。每個 Facet 都有 FacetValues 清單,其中包含每個 Facet 值的產品數量。系統會在 completeQuery.completionResults.totalProductCount 中傳回每個建議搜尋查詢的產品總數。

如要啟用並使用附帶產品數量的建議構面,請按照下列步驟操作:

  1. 請聯絡支援團隊,要求對方開啟「建議構面與產品數量」功能。指定要取得產品數量的FacetKeys。只能使用 textual_fields 個構面。

  2. 使用 search API 時,請務必在 FacetSpecs 中加入構面鍵,並在 search.searchRequest.facetSpecs 中加入構面鍵,至少持續 7 天。

    這是因為系統會使用過去一週的搜尋記錄資料計算多面向資訊,因此需要等待一段時間。

  3. 為你啟用這項功能後,completeQuery API 傳回的建議會包含各個構面和建議的產品數量。

依實體篩選的建議

實體可讓您篩選自動完成搜尋建議。實體可能是其他品牌或區域的網站。您希望自動完成功能能充分反映購物者在特定品牌或區域網站上的行為。如要進一步瞭解實體,請參閱「實體」。

請注意,實體篩選條件只會套用至 completion_results (與 UserEvent 相關)。這項篩選條件不會套用至 attribute_results (與 Product 相關)。因此,無論 entity 的值為何,attribute_results 都相同。

如要在自動完成建議中加入實體,請按照下列步驟操作:

  1. 在搜尋使用者事件時加入 entity 欄位 (eventType = "search")。如需相關資訊,請參閱「搜尋」使用者事件的完整物件範例。

  2. CompleteQuery API 要求中設定 entity 欄位,即可只取得該實體的建議。

    使用者事件和 API 請求中的實體字串必須完全相符。否則自動完成功能會傳回空白建議。

  3. 請確認實體 (無論是在搜尋使用者事件或自動完成要求中) 最多有 256 個字元。如果事件或要求在處理時超過 256 個字元,系統會截斷較長的字串,因此可能會發生不符的情況。

一般來說,實體功能需要 30 到 90 天的使用者事件資料,才能提供最佳的自動完成建議。