本頁面說明如何使用搜尋功能進行基本查詢,包括文字查詢搜尋、瀏覽搜尋、分頁、最佳化和個人化結果。
不重複使用者工作階段 ID
這個必填的 visitor_id 字串欄位用於在單一裝置上識別使用者。這個 ID 會做為持續性工作階段 ID,讓 AI Commerce Search 追蹤特定使用者在購物歷程中的行為。
AI Commerce Search 會使用與特定 visitor_id 相關聯的記錄訓練模型,並提供個人化搜尋結果。系統會根據要求中提供的特定 visitor_id 動態生成結果。舉例來說,如果訪客經常瀏覽綠色洋裝,模型就會使用 visitor_id 辨識訪客,並在搜尋結果中優先顯示類似商品。因此,在使用者事件擷取 (追蹤) 和搜尋或建議要求 (放送) 中,訪客 ID 的格式必須完全相同。
AI Commerce Search 的相關性
相關性與相符程度不同。比對是指在索引中找出與使用者搜尋查詢相符的候選產品。另一方面,關聯性則是指相符程度。這項功能會根據使用者的意圖和需求,為產品排序。AI Commerce Search 會運用各種技術,提升比對和相關性,為使用者提供更優質的整體搜尋體驗,滿足零售商的需求。
預設搜尋
搜尋結果預設會依關聯性排序。不過,在預設搜尋或明確的產品探索要求中,底部可能會顯示一些不相關的產品。只有在設定 orderBy 時,您才會注意到這點,因為這會縮小一般搜尋結果的大小。這是因為系統會篩除部分相關度較低的產品,這些產品原本會顯示在預設搜尋結果的底部。如要瞭解如何自訂搜尋功能,請參閱下一節。
非預設搜尋
AI Commerce Search 預設會顯示與搜尋內容相關的結果。不過,搜尋功能也會調整,在搜尋結果中顯示關聯性稍低的項目,為零售商提供更精準的搜尋結果,提高使用者事件的轉換潛力。
這些新增的搜尋功能會最佳化預設相關性演算法,並根據各零售商的使用情況設定非預設功能,包括:
可依價格、最高評分或最暢銷商品等條件排序搜尋結果。非預設搜尋功能可自訂,傳回含有正確產品子類的特定搜尋結果。舉例來說,依價格排序時,顯示最便宜或最貴的子類。
系統會自動對非預設使用者事件套用更嚴格的關聯性篩選器。
可調整升級/埋藏強度控制項,微調搜尋結果。
文字搜尋和瀏覽搜尋
搜尋功能提供文字查詢搜尋和瀏覽搜尋功能。
在文字查詢搜尋的使用案例中,購物者可能會在你的網站上輸入文字查詢。搜尋功能會傳回搜尋回應,其中包含符合您設定控制項參數的產品,並依關聯性和收益最大化排序。
在瀏覽使用案例中,購物者可能會前往網站選單,然後瀏覽特定產品類別。搜尋功能會根據使用者行為和趨勢,自動選擇最能提高收益的排序方式。您可以透過設定的控制項,進一步縮小瀏覽結果範圍。
文字搜尋和瀏覽搜尋要求都使用 servingConfigs.search 方法。
文字查詢搜尋
使用者在網站上輸入文字查詢進行搜尋時,搜尋功能會根據相關性、熱門程度、可購買性及個人化設定,排序可能的搜尋結果。
如果 servingConfigs.search 要求含有非空白的 query 欄位,Google 搜尋會將其視為文字搜尋要求。
上傳使用者事件時,請將搜尋產生的文字查詢搜尋事件做為 search 使用者事件傳送。如果事件有非空白的 userEvent.searchQuery 欄位和空白的 userEvent.pageCategories 欄位,搜尋會將其視為以文字為基礎的搜尋事件。
如何處理文字查詢和參數
標準查詢會經過語言分析,並移除標準標點符號。篩選字串會嚴格區分大小寫。瞭解如何處理文字查詢和參數,是正確建構 AI Commerce Search API 要求的關鍵。
- 查詢權杖化和標點符號:系統會將傳遞至
query欄位的自然語言文字,自動進行語言分析和拼字修正。在此過程中,系統通常會移除或忽略標準標點符號 (例如逗號、句號、+或-),以利自然語言理解。 - 參數嚴格區分大小寫:一般文字查詢通常不區分大小寫,但程式輔助參數嚴格區分大小寫。
- 篩選器:篩選運算式及其字串值會完全區分大小寫。
- 排序:
orderBy運算式須區分大小寫。如果依products.title等欄位排序,引擎會依序排列 Apple、banana 和 artichoke。解決方法是將全大寫的產品名稱上傳至個別的自訂屬性 (例如attributes.title_upper),然後依該屬性排序,即可不區分大小寫。
- 保留的特殊字元:
>字元嚴格保留為類別階層的分隔符號 (例如Categories > Shoes)。如果類別名稱中自然出現>,您必須先將其替換為其他字元,才能擷取及查詢。- 建議篩選器運算式中的文字值不支援
/字元。
瀏覽搜尋記錄
瀏覽功能會使用網站導覽產生關聯性相同的搜尋結果,並依暢銷商品排序。搜尋功能會運用 AI 考量人氣、可購買性和個人化因素,最佳化瀏覽結果的排序方式。
如要取得正確的瀏覽搜尋結果,請注意下列事項:
搜尋要求中的
pageCategories和filter值,必須與上傳使用者事件中的pageCategories和filter值完全一致。如果要求中的參數與事件中的參數不符,從事件中學習的點擊次數重新排序模型,就無法針對這項特定查詢發揮良好效用,進而對結果品質造成負面影響。如果使用者事件的
userEvent.searchQuery欄位為空白,但userEvent.pageCategories欄位不為空白,AI Commerce Search 就會將該事件歸類為瀏覽事件。search因此,上傳 AI Commerce 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
如要瞭解如何安裝及使用 AI Commerce Search 的用戶端程式庫,請參閱「AI Commerce Search 用戶端程式庫」。詳情請參閱 AI Commerce Search Python API 參考文件。
如要向 AI Commerce Search 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Node.js
如要瞭解如何安裝及使用 AI Commerce Search 的用戶端程式庫,請參閱「AI Commerce Search 用戶端程式庫」。
如要向 AI Commerce Search 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。