本頁面說明如何使用搜尋功能進行基本查詢,包括文字查詢搜尋、瀏覽搜尋、分頁、最佳化和個人化結果。
不重複使用者工作階段 ID
這個必填的 visitor_id 字串欄位用於在單一裝置上識別使用者。這個 ID 會做為持續性工作階段 ID,讓 Vertex AI Search 電子商務套件追蹤特定使用者在購物歷程中的行為。
Vertex AI Search 電子商務套件會使用與特定 visitor_id 相關聯的記錄訓練模型,並提供個人化搜尋結果。系統會根據要求中提供的特定 visitor_id 動態生成結果。舉例來說,如果訪客經常瀏覽綠色洋裝,模型就會使用 visitor_id 辨識訪客,並在搜尋結果中優先顯示類似商品。因此,在使用者事件擷取 (追蹤) 和搜尋或建議要求 (放送) 中,訪客 ID 的格式必須完全相同。
搜尋廣告的關聯性
相關性與相符程度不同。比對是指在索引中找出與使用者搜尋查詢相符的候選產品。另一方面,關聯性是指相符程度。這項功能會根據使用者的意圖和需求,以最合適的方式排列產品。Vertex AI Search 電子商務套件採用多種技術,可提升比對和相關性,為使用者提供更優質的整體搜尋體驗,滿足零售商需求。
預設搜尋
搜尋結果預設會依關聯性排序。不過,在預設搜尋或明確的產品探索要求中,底部可能會顯示一些不相關的產品。只有在設定 orderBy 時,您才會注意到這項變更,因為這會縮減一般搜尋結果的大小。這是因為系統會篩除部分不相關的產品,這些產品先前會顯示在預設搜尋結果的底部。如要瞭解如何自訂搜尋功能,請參閱下一節。
非預設搜尋
Vertex AI Search 電子商務套件預設會依搜尋結果的關聯性排序。不過,搜尋功能也會調整,在搜尋結果中顯示關聯性稍低的項目,為零售商提供更精準的搜尋結果,提高使用者事件的轉換潛力。
這些新增的搜尋功能會最佳化預設相關性演算法,並根據各零售商的使用情況調整非預設功能,包括:
可依價格、最高評分或最暢銷商品等條件排序搜尋結果。非預設搜尋功能可自訂,傳回含有正確產品子類的特定搜尋結果。舉例來說,依價格排序時,顯示最便宜或最貴的子類。
系統會自動對非預設使用者事件套用更嚴格的關聯性篩選器。
可調整升級/埋藏強度控制項,微調搜尋結果。
文字搜尋和瀏覽搜尋
搜尋功能提供文字查詢搜尋和瀏覽功能。
在文字查詢搜尋用途中,購物者可能會在你的網站上輸入文字查詢。搜尋功能會傳回搜尋回應,其中包含符合您設定控制項參數的產品,並依關聯性和收益最大化排序。
在瀏覽使用案例中,購物者可能會前往網站選單,然後瀏覽特定產品類別。搜尋功能會根據使用者行為和趨勢,自動選擇最能提高收益的排序方式。您可以透過設定的控制項,進一步縮小瀏覽結果的範圍。
文字搜尋和瀏覽搜尋要求都使用 servingConfigs.search 方法。
文字查詢搜尋
使用者在網站上輸入文字查詢進行搜尋時,搜尋功能會根據相關性、熱門程度、可購買性及個人化設定,排序可能的搜尋結果。
如果 servingConfigs.search 要求含有非空白的 query 欄位,Google 搜尋會將其視為文字搜尋要求。
上傳使用者事件時,請將搜尋產生的文字查詢搜尋事件做為 search 使用者事件傳送。如果事件有非空白的 userEvent.searchQuery 欄位和空白的 userEvent.pageCategories 欄位,搜尋會將其視為以文字為基礎的搜尋事件。
如何處理文字查詢和參數
標準查詢會經過語言分析,並移除標準標點符號。篩選字串會嚴格區分大小寫。瞭解如何處理文字查詢和參數,是在 Vertex AI Search 電子商務套件中正確建構 API 要求的關鍵。
- 查詢權杖化和標點符號:傳遞至
query欄位的自然語言文字會自動進行語言分析和拼字修正。在此過程中,系統通常會移除或忽略標準標點符號 (例如逗號、句號、+或-),以利自然語言理解。 - 參數嚴格區分大小寫:一般文字查詢通常不區分大小寫,但程式輔助參數嚴格區分大小寫。
- 篩選器:篩選運算式及其字串值會完全區分大小寫。
- 排序:
orderBy運算式會區分大小寫。如果依products.title等欄位排序,引擎會依序排序 Apple、banana 和 artichoke。解決方法是將全大寫的產品名稱上傳至個別的自訂屬性 (例如attributes.title_upper),然後依該屬性排序,即可不區分大小寫排序。
- 保留的特殊字元:
>字元嚴格保留為類別階層的分隔符號 (例如Categories > Shoes)。如果類別名稱中自然出現>,您必須先將其替換為其他字元,才能擷取及查詢。- 建議篩選器運算式中的文字值不支援
/字元。
瀏覽搜尋記錄
瀏覽功能會使用網站導覽產生關聯性相同的搜尋結果,並依暢銷商品排序。Google 搜尋會運用 AI 考慮人氣、可購買性和個人化等因素,最佳化瀏覽結果的排序方式。
如要取得正確的瀏覽搜尋結果,請注意下列事項:
搜尋要求中的
pageCategories和filter值,必須與您上傳使用者事件中的pageCategories和filter值完全一致。如果要求中的參數與事件中的參數不符,從事件中學習的點擊再排序模型就無法針對這項特定查詢發揮良好效用,進而對結果品質造成負面影響。如果使用者事件的
search欄位為空白,但userEvent.searchQuery欄位不為空白,Vertex AI Search 電子商務套件 就會將該事件歸類為瀏覽事件。userEvent.pageCategories因此,上傳時請務必將 Vertex AI Search 電子商務套件產生的瀏覽事件,做為search使用者事件傳送。瀏覽篩選器必須有效,並指出每個瀏覽查詢中,哪些產品屬於使用者瀏覽的產品類別。如要完成這項設定,必須在
filter和page_category欄位中定義類別 ID。舉例來說,假設您希望搜尋結果以「居家與園藝」為目標,首先,只有一個filter"in-stock"值無法充分縮小搜尋範圍,因此無法提供最佳瀏覽結果。如要提供僅限「居家與園藝」的搜尋結果,您不僅需要在網頁類別中設定"Home \& Garden",也需要在篩選器中設定categories: ANY("Home & Garden")。如果您在篩選條件部分忽略定義類別,瀏覽結果可能過於廣泛,包含許多非居家和庭園的項目。
如果查詢欄位空白,但 page_categories 欄位已填寫,系統會將要求和事件視為瀏覽要求和使用者事件。「page_categories」欄位指定瀏覽頁面本身。如果 servingConfigs.search 方法傳送要求時,query 欄位為空白,搜尋會將其視為瀏覽搜尋要求。在這種情況下,系統會根據 filter 和 pageCategories 欄位,以及更多最佳化和個人化設定 (如有) 產生結果。
您可以在兩者中設定類別,如以下範例所示:
JSON
page_category: "Home & Garden" filter: "(availability: ANY("IN_STOCK")) AND (categories: ANY("Home & Garden"))"
否則,由於瀏覽功能適用於空字串查詢,特定類別的產品不會自動顯示在特定網頁類別的結果中。換句話說,如果使用者瀏覽時未指定任何內容 (使用文字查詢),即使前往類別頁面,搜尋結果可能也不會有效鎖定目標。
使用搜尋要求
使用搜尋要求,取得文字搜尋和瀏覽搜尋的結果。
如要發出搜尋要求,請使用 servingConfigs.search 方法。
所有搜尋要求都需要 placement,用於識別要使用的供應設定完整資源名稱。供應設定會決定哪些設定和相關控制項會影響搜尋結果。
文字查詢搜尋要求必須包含非空白的 query 欄位。
瀏覽搜尋要求必須包含非空白的 pageCategories 欄位。
Python
如要瞭解如何安裝及使用 Vertex AI Search 電子商務套件的用戶端程式庫,請參閱「Vertex AI Search 電子商務套件用戶端程式庫」。詳情請參閱 Vertex AI Search 電子商務套件 Python API 參考文件。
如要向 Vertex AI Search 電子商務套件進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Node.js
如要瞭解如何安裝及使用 Vertex AI Search 電子商務套件的用戶端程式庫,請參閱「Vertex AI Search 電子商務套件用戶端程式庫」。
如要向 Vertex AI Search 電子商務套件進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Java
如要瞭解如何安裝及使用 Vertex AI Search 電子商務套件的用戶端程式庫,請參閱「Vertex AI Search 電子商務套件用戶端程式庫」。詳情請參閱 Vertex AI Search 電子商務套件 Java API 參考文件。
如要向 Vertex AI Search 電子商務套件進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
根據預設,系統會傳回合理數量的結果,這些結果會依關聯性排序。
如要讓搜尋回應傳回產品屬性,請務必在匯入目錄資料時提供屬性值。Product 具有預先定義的系統屬性,例如品牌、顏色和尺寸,您可以提供這些屬性的值。您也可以納入使用 Product.attributes 定義的自訂屬性。
教學課程:查詢功能
本教學課程說明如何將文字搜尋查詢傳送至 Vertex AI Search 電子商務套件服務,並分析回應。
如要直接在 Cloud Shell 編輯器中按照逐步指南操作,請按一下「Guide me」(逐步引導):
使用自動完成建議篩選搜尋結果
如果您已在前端導入強化自動完成建議 (使用者可選取與特定品牌或類別結合的查詢),則必須將該選取項目轉換為經過篩選的 SearchRequest。
如要實作這項功能,請擷取文字建議並放入 query 欄位,然後擷取所選屬性 (例如品牌) 並在 filter 欄位中將其格式設為運算式。
篩選建議的搜尋要求範例
如果使用者在「Nike」Nike中點選建議「鞋子」,請按照下列方式建構 SearchRequest:
{
"placement": "projects/YOUR_PROJECT_ID/locations/global/catalogs/default_catalog/placements/default_search",
"query": "shoe",
"filter": "brands: ANY(\"Nike\")",
"visitorId": "user_session_123"
}
在建議構面中新增產品數量
為進一步提升篩選體驗,您可以在使用者執行搜尋前,顯示每個建議篩選器的可用產品數量。如要使用附帶產品數量的建議構面,請與支援團隊聯絡,啟用這項功能。啟用後,請在 SearchRequest 的 facetSpecs 中加入特定文字構面鍵至少 7 天,讓系統根據搜尋記錄資料計算產品數量。
分頁
使用分頁功能可縮短查詢時間,並縮減傳送的回應大小。
教學課程:分頁功能
本教學課程會說明如何在文字搜尋要求中控制分頁。購物者在商店中尋找產品時,可以透過搜尋結果改善瀏覽體驗。舉例來說,他們可以使用頁面大小功能限制搜尋回應中的項目數量,或使用偏移功能跳到偏好的頁面。
如要直接在 Cloud Shell 編輯器中按照逐步指南操作,請按一下「Guide me」(逐步引導):
分頁
如要從一個頁面跳到另一個頁面,請視用途使用 page_token 或 offset。
Python
如要瞭解如何安裝及使用 Vertex AI Search 電子商務套件的用戶端程式庫,請參閱「Vertex AI Search 電子商務套件用戶端程式庫」。詳情請參閱 Vertex AI Search 電子商務套件 Python API 參考文件。
如要向 Vertex AI Search 電子商務套件進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Node.js
如要瞭解如何安裝及使用 Vertex AI Search 電子商務套件的用戶端程式庫,請參閱「Vertex AI Search 電子商務套件用戶端程式庫」。
如要向 Vertex AI Search 電子商務套件進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Java
如要瞭解如何安裝及使用 Vertex AI Search 電子商務套件的用戶端程式庫,請參閱「Vertex AI Search 電子商務套件用戶端程式庫」。詳情請參閱 Vertex AI Search 電子商務套件 Java API 參考文件。
如要向 Vertex AI Search 電子商務套件進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
網頁權杖
如要跳到下一頁,可以使用 page_token。舉例來說,假設您傳送以下 SearchRequest。
JSON
{ placement: 'projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/placements/default_search' visitor_id: 'VISITOR_ID' query: 'shoes' page_size: 5 }
從 SearchResponse 開始,即可取得前 5 個最相關的產品,以及 next_page_token。
JSON
{ results: [ products{...}, products{...}, products{...}, products{...}, products{...} ] next_page_token: "wY4ETNkBDOlVjZ0YWLzUmM40SMhVjMtADMwATL5UGN5MGZlVDJaIQ5LaYsQUw9fC6lIwgE1EgC" total_size: 100 search_token: "NtQKDAiXt4_3BRDCg_jnARABGiQ1ZWRjOTRlOC0wMDAwLTI1YTEtODJlMy1mNGY1ZTgwZDUxOGM" }
如要取得下 5 個相關性最高的結果產品 (第 6 個到第 10 個),請使用與先前 SearchResponse 相同的 placement、visitor_id 和 query,設定 page_token。next_page_token
Java
在本範例中,SearchRequest 看起來會像這樣:
JSON
{ placement: 'projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/placements/default_search' visitor_id: 'VISITOR_ID' query: 'shoes' page_size: 5 page_token: "wY4ETNkBDOlVjZ0YWLzUmM40SMhVjMtADMwATL5UGN5MGZlVDJaIQ5LaYsQUw9fC6lIwgE1EgC" }
偏移
在其他情況下,除了按照頁面順序查看結果或取得最相關的結果之外,您也可以使用 offset 直接跳到特定位置。
舉例來說,如果頁面大小為 5,而您想要第 10 頁的結果,則可將 offset 設為 45,計算方式為 (10 - 1) * 5。
JSON
{ placement: 'projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/placements/default_search' visitor_id: 'VISITOR_ID' query: 'shoes' page_size: 5 offset: 45 }
搜尋成效等級
搜尋提供多個搜尋成效等級,可逐步提升搜尋結果。舉例來說,在文字查詢搜尋的用途中,結果可能只會根據關聯性顯示。解鎖更多進階成效層級後,搜尋功能會根據關聯性、熱門程度、收益最佳化和個人化設定,傳回搜尋結果。
只要上傳符合各層級最低規定的目錄和使用者事件資料,搜尋就會自動解鎖更高成效層級。
如要進一步瞭解如何使用這個頁面查看資料品質和搜尋成效等級,請參閱「解鎖搜尋成效等級」。在 Search for commerce 控制台的「資料品質」頁面中,你可以查看各層級的規定達成情況。
評估文字搜尋和瀏覽結果
更新網站程式碼以要求文字搜尋或瀏覽搜尋結果之前,您可以先預覽結果,確認放送設定是否正常運作。
如要進一步瞭解供應設定,請參閱「關於供應設定」。
您可以從「評估」頁面預覽放送設定結果,也可以前往控制台的放送設定「詳細資料」頁面,然後點選「評估」分頁。下列步驟說明如何從「評估」頁面預覽。
如要預覽服務設定傳回的結果,請按照下列步驟操作:
文字搜尋
前往 Search for Commerce 控制台的「評估」頁面。
前往「評估」頁面按一下「搜尋」分頁標籤。
選取要預覽的供應設定。
選取包含要預覽目錄的目錄分支。
選用:輸入訪客 ID,預覽該使用者的搜尋結果。
選用:輸入使用者 ID,預覽該使用者的搜尋結果。
選用:輸入搜尋時間,預覽指定時間的搜尋結果。
舉例來說,如果您曾為特賣活動宣傳特定產品,就能查看當天的結果。
選用:選取要在搜尋結果旁顯示的資料類型,然後按一下「確定」套用。
系統會根據您選取的層面產生層面篩選器清單,並在您執行初始搜尋後顯示在「新增層面」下方。這些層面篩選器可以包含您在此步驟中選取的層面以外的層面,例如動態層面。
輸入文字搜尋查詢,即可預覽該查詢的搜尋結果。
按一下「搜尋預覽」,或在任何輸入欄位中按下 Enter 鍵,即可查看結果。
搜尋結果會顯示可用的縮圖。
如果搜尋觸發重新導向控制項,系統會顯示通知,當中包含重新導向 URI。
選用:按一下「格狀」圖示或「清單」圖示,即可切換預覽畫面中搜尋結果的顯示方式。
選用:如果您選取要與結果一起顯示的 Facet,請從 Facet 清單中選取一或多個 Facet 值,依這些值篩選結果。選取後,系統會自動更新結果。
選取同一 Facet 的多個值時,系統會套用 OR 運算子;選取不同 Facet 的值時,系統則會套用 AND 運算子。舉例來說,選取「顏色」Facet 和「藍色」與「金色」值,以及「材質」值「棉」和「聚酯纖維」。搜尋結果必須具備「藍色」或「金色」屬性,且必須具備「棉」或「聚酯纖維」屬性。
歡迎瀏覽
前往 Search for Commerce 控制台的「評估」頁面。
前往「評估」頁面按一下「瀏覽」分頁標籤。
選取要預覽的供應設定。
選取包含要預覽目錄的目錄分支。
選用:輸入訪客 ID,預覽該使用者的結果。
選用:輸入使用者 ID,預覽該使用者的結果。
如要預覽新增特定篩選條件後的結果,請輸入篩選字串。使用「篩選條件」說明文件中指定的篩選運算式語法。
選用步驟:輸入瀏覽時間,即可預覽指定時間會顯示的結果。
舉例來說,如果您在特價活動中宣傳特定產品,就能查看當天的結果。
輸入要測試瀏覽結果的頁面類別。
選用:選取要與結果一起顯示的資料類型,然後按一下「確定」套用。
系統會根據您選取的層面產生層面篩選器清單,並在您執行初始搜尋後顯示在「新增層面」下方。這些層面篩選器可以包含您在此步驟中選取的層面以外的層面,例如動態層面。
按一下「瀏覽預覽」或在任何輸入欄位中按下 Enter 鍵,即可查看結果。
結果會連同可用的縮圖一併顯示。
選用:按一下「格狀」圖示或「清單」圖示,即可切換預覽結果的顯示方式。
選用:如果您選取要與結果一起顯示的 Facet,請從 Facet 清單中選取一或多個 Facet 值,依這些值篩選結果。選取後,系統會自動更新結果。
選取同一 Facet 的多個值時,系統會套用 OR 運算子;選取不同 Facet 的值時,系統則會套用 AND 運算子。舉例來說,選取「顏色」和「材質」 Facet 後,您可以選取「藍色」和「金色」的顏色值,以及「棉」和「聚酯纖維」的材質值,篩選搜尋結果。結果必須包含「藍色」或「金色」屬性,以及「棉」或「聚酯纖維」屬性。
如要查看預覽供應設定的「詳細資料」頁面,請按一下「選取供應設定」欄位下方的「查看供應設定」。