關於產品屬性

AI 輔助的商務搜尋功能可使用產品屬性進行索引、動態分類、搜尋、篩選和模型品質。本頁面將討論如何設定產品屬性設定,以及系統如何根據您使用的方法和設定處理這些屬性。

屬性類型

產品屬性可有不同的預設設定和允許的選項,具體取決於屬性類型。

  • 系統屬性:預先定義的系統屬性是現有的Product 欄位,可提供產品的詳細資訊。包括品牌、供應情形、顏色和尺寸等產品屬性。如要查看產品的所有可用系統屬性,請參閱Product參考文件

  • 自訂屬性:自訂屬性是您使用 Product.attributes 欄位定義的額外屬性。例如商店名稱、供應商或風格。如需自訂屬性的範例和限制,請參閱 Product.attributes 參考文件

    前 20 項自訂屬性範例:

    • 這項產品所屬的產品系列
    • 這項產品的店內銷售量
    • 服裝場合
    • 適用於這項產品的特惠和優待券
    • 整個網站產品熱門程度
  • 商品目錄層級屬性:系統或自訂屬性,提供產品的商店層級資訊。如果產品的屬性在商店和區域之間差異很大,例如雜貨,或是產品有商店專屬的促銷活動,你可能會使用目錄層級屬性。

    inventories.priceinventories.originalPrice 是 AI Commerce Search 預先定義的數值系統屬性。您可以建立自訂的商品目錄層級屬性,這些屬性可以是文字或數字。廣告空間層級屬性預設為可建立索引。系統不支援為庫存層級屬性設定可搜尋和動態商情項目。

可用的屬性設定

屬性設定會影響整個網站的搜尋和推薦行為。

設定 說明 系統屬性 自訂屬性 廣告空間層級屬性
可搜尋性 這個屬性可透過搜尋查詢進行搜尋,有助於提高該屬性的召回率 (僅限文字屬性)。 一律開啟 (僅限文字) 預設為停用 (可啟用,但僅限文字) 不支援
可索引性 搜尋功能可使用這項屬性進行篩選和 facet。 一律開啟 預設為啟用 (可停用) 系統:一律開啟
自訂:預設為開啟 (可停用)
動態 facet 處理 根據過去的使用者行為 (例如 facet 點擊和瀏覽次數),搜尋功能可自動將這項屬性做為動態 facet 使用 (僅限文字屬性)。 預設為啟用 (如果 indexability = True) (可停用)。 預設為啟用 (如果 indexability = True) (可停用)。 不支援
可篩選
(預覽)
這項屬性可用於 Recommendations AI 篩選運算式。這項控制項僅適用於文字屬性。 預設為停用 (可為文字啟用,但 FulfillmentInfoTitle 除外)。 預設為停用 (可為文字啟用) 僅支援 availability=IN_STOCK
完全比對 這項屬性僅適用於文字自訂屬性。如要啟用精確搜尋功能,必須先啟用可建立索引的設定。 不支援 預設為停用 (可啟用) 不支援

搜尋會使用下列屬性設定:

  • 可建立索引:搜尋功能可使用這項屬性進行篩選和 facet。
  • 動態 facet 處理:搜尋功能可根據使用者過去的行為 (例如點選和瀏覽 facet) 自動將這個屬性做為動態 facet 使用。如要為屬性啟用動態分面,請將該屬性的「可編列索引」設為 true。
  • 可搜尋:這個屬性可透過搜尋查詢搜尋,提高該屬性的召回率。這項控制項僅適用於文字屬性。
  • 可擷取:如果設為 true,搜尋功能會在搜尋查詢的回應中傳回這項屬性。如果所有屬性的「可擷取」都設為 false,搜尋結果只會顯示產品名稱,或是 (如果是子類) 產品名稱和顏色資訊。產品的 REST 欄位 RetrievableFields 已淘汰。請改用可擷取的整個網站控制項。

建議會使用下列屬性設定:

  • 可篩選 (公開測試版):這個屬性可用於建議篩選運算式。這項控制項僅適用於文字屬性。

可建立索引

如果屬性設為可建立索引,搜尋功能就能使用該屬性進行篩選和 facet。

  • 系統屬性:預先定義的系統屬性一律會啟用索引功能。系統屬性無法停用這項設定。
  • 自訂屬性:預設為啟用。您可以為任何自訂屬性停用可編列索引功能。如果您打算建立可編列索引的自訂屬性,該屬性必須遵循規則運算式模式 [a-zA-Z0-9][a-zA-Z0-9_]*。例如 key0LikeThisKEY_1_LIKE_THIS
  • 庫存層級屬性:系統庫存層級屬性一律會啟用這項設定,且無法變更。自訂庫存層級屬性預設為啟用這項設定,但可以關閉。
  • 依附元件:不適用

匯入目錄資料後,索引設定變更會立即生效。否則變更最多可能需要 12 小時才會生效。您可以在「評估」頁面測試變更是否已套用。

動態 facet 處理

為屬性啟用動態 facet 處理後,搜尋功能就能將該屬性做為動態 facet。系統會根據使用者過去的行為 (例如點擊和瀏覽的分類) 自動將動態分類加入搜尋結果。

  • 系統屬性:如果可索引性設為 true,系統屬性預設為啟用。您可以停用任何系統屬性的動態切面。
  • 自訂屬性:如果可建立索引設為 true,則預設為啟用。您可以針對任何自訂屬性停用動態 facet 處理。
  • 目錄層級屬性:不支援。
  • 依附元件:如要為屬性啟用動態切面,必須先為該屬性啟用索引功能。

屬性的動態 facet 設定一律為全域設定。您套用至該屬性的動態 facet 處理設定,會用於目錄中所有使用該屬性的產品。

動態商情項目設定變更最多需要兩天才能生效。您可以在「評估」頁面測試變更是否已套用。

如果是數值自訂屬性,則必須在要求中指定 bucket。系統不會自動將數值分組。

可供搜尋

如果屬性設為可供搜尋,搜尋查詢中該屬性的召回率會提高。

只有文字屬性值可以啟用搜尋功能。不適用於數值屬性。

  • 系統屬性Product 的預先定義文字系統屬性,其可搜尋性設定由 AI Commerce Search 設定。這些設定無法變更。
  • 自訂屬性:預設為停用。您可以為任何文字自訂屬性啟用這項設定。
  • 目錄層級屬性:不支援。
  • 依附元件:不適用
  • 可精確搜尋:針對與目錄中任何產品相符的搜尋查詢,傳回目標搜尋結果。這個選項很適合序號。進一步瞭解可精確搜尋的選項

雖然具有可搜尋屬性的產品較有可能顯示在該屬性的搜尋結果中,但並不保證一定會顯示。

篩選建議

雖然可從子類彙整到建議主要產品的篩選器屬性最多只能有 10 個,但如果屬性已啟用建議篩選器,就能在建議篩選器運算式中使用,篩選預測中的產品。

  • 系統屬性:預設為關閉。您可以為 Product 的任何預先定義系統文字屬性啟用這項設定,但 FulfillmentInfotitle 除外。不支援數值屬性。
  • 自訂屬性:預設為關閉。你可以為任何自訂文字屬性開啟這項設定,Product。不支援數值屬性。
  • 店面層級屬性:僅支援 availabilityIN_STOCK
  • 依附元件:不適用

可精確搜尋的選項

您可以為特定字串查詢的 exact-searchable 選項 (目錄屬性欄位) 提供特定值。如果查詢與目錄中的任何產品相符,且該欄位的值是查詢中提供的字串,則搜尋查詢會傳回該產品。這個選項很適合用於序號,因為消費者會期待獲得精準的搜尋體驗。

通常對於自訂屬性,ExactSearchableOption 欄位適用於具有確切值的產品屬性 (例如 ModelIdManufacturerId)。product_id 等屬性是主要索引欄位,預設可進行確切搜尋。系統一律會為完全比對啟用 item_id 欄位,且無法停用。

  • 為避免在搜尋中傳回不相關的項目,請勿將可搜尋選項設為 battery 等一般值。
  • 為避免搜尋查詢服務不足,請勿將 tag 等特殊欄位設為可精確搜尋,因為這類欄位可能含有「iphone」等字串值。這麼做可能會導致這些查詢限制產品目錄中所有 iPhone 的結果。

詳情請參閱「關於產品屬性」。

屬性設定最佳做法

請務必瞭解這些最佳做法,才能正確為自訂屬性建立索引,並留意可能影響搜尋功能的特定語言剖析機制。

  • 處理英數字元 (零件編號或 SKU):由於預設語言分析會針對自然語言進行最佳化,因此可能會從零件編號中移除連字號 (-) 等特殊字元 (例如將 part-123 轉換為 part123)。如要讓這些字元可供搜尋,請務必使用 exact-searchable 屬性標記。
  • n-gram 解決方法:如果型號非常複雜,含有特殊字元,建議您先在自己的資料管道中將字串分成 n-gram,再進行擷取,並將原始字串儲存在標示為 exact searchable: true 的自訂屬性中。這會強制系統對 n 元語法片段進行嚴格比對。
  • 自訂屬性鍵限制:自訂屬性鍵不得包含連字號或特殊字元。如要建立索引,鍵必須嚴格符合規則運算式模式 [a-zA-Z0-9][a-zA-Z0-9_]*。詳情請參閱「關於產品屬性」頁面。
  • UTF-8 規定:所有字串屬性和值都必須是有效的 UTF-8 編碼字串。

屬性行為

使用主要和子類產品標記建構產品目錄時,請瞭解系統如何處理產品屬性以進行篩選。系統的行為取決於您使用的是搜尋或建議,以及目錄分類的設定方式。

為確保篩選行為可預測且準確,請確保主要產品和子類產品的可篩選屬性定義一致且完整。這種做法有助於精確篩選,進而提升產品探索和搜尋關聯性。

搜尋與推薦內容中的主要變體行為

雖然搜尋和推薦結果只會顯示主要項目,但 AI Commerce Search 會盡量提升搜尋和推薦品質。

  • 對於搜尋模型,變體屬性會用於搜尋索引中的主要產品。搜尋結果會根據主要產品的子類屬性,顯示多種選項。

  • 如果是建議模型,產品詳細資料和屬性不會從主要產品繼承至子類產品。為確保推薦內容品質,主要和子類產品的重要屬性 (例如 product.categoriesproduct.titleproduct.attributesproduct.prices) 必須提供完整且正確的詳細資料。

在建立索引和篩選期間處理屬性

如果主要變體中定義了相同屬性,變體中的屬性會用於篩選。舉例來說,假設你為主要產品及其子類 (顏色或尺寸) 定義了屬性,子類屬性值主要用於篩選,系統會檢查主要子類是否有任何子類符合屬性值。以產品供應情形為例:主要產品可以標示為 out-of-stock,但如果至少有一個子類標示為 in-stock,只要套用 in-stock 篩選器,主要產品就會顯示在搜尋結果中。

  • 篩選時,系統會優先採用變體屬性。如果主要產品及其子類都定義了屬性,系統會使用子類的屬性進行篩選。舉例來說,如果主要產品有預留位置顏色,但子類有實際顏色,系統應填入子類的顏色,並用於篩選。

  • 如果是供應情形等與庫存相關的屬性,如果主要產品有子類,主要產品的供應情形應設為 OUT_OF_STOCK,而實際供應情形 (例如 IN_STOCK) 應設在子類層級。這樣一來,只要至少有一個子類有現貨,主要產品就會視為有現貨。如果是這樣,availability: ANY("IN_STOCK") 等篩選器會正確傳回主要產品。

  • 使用篩選運算式時,預測回應會傳回至少有一個主要或子類產品符合篩選器屬性值的主要產品。

用於篩選的選用屬性

請保持 categories 欄位乾淨,並針對分類進行最佳化。如需更多篩選條件,請使用個別的自訂屬性 (而非 categories 欄位) 根據廣泛類別實作。這也能避免類別建議的自動完成訓練受到負面影響。

舉例來說,假設您通常會設定 [lvl1, lvl1>lvl2, lvl1>lvl2>lvl3] 等類別進行篩選。自動完成功能會計算特定查詢最常出現的類別,因此建議的類別會是 lvl1lvl2 (所有產品)。

屬性行為最佳做法

如果目錄包含主要和子類產品,兩者都定義了相同屬性,系統會以子類中的屬性進行篩選。

  • 正確填寫屬性:確保主要產品和子類產品的屬性詳細資料完整且正確,尤其是用於篩選的屬性,以發揮最大效益。

  • 使用內建欄位:請勿只使用自訂屬性。將產品資訊對應至內建的 Product 欄位 (brandscolorssizes必填欄位)。內建欄位對可搜尋性、可索引性及關聯性最佳化有較大影響。自訂屬性 (Product.attributes) 適用於不符合預先定義系統屬性的產品資料。

  • 設定整個網站可擷取的欄位控制項:API 支援變體的 variantRollupKeys,可讓您在搜尋回應中擷取詳細資料。

  • 目錄語言一致:產品目錄應只使用一種語言,且搜尋查詢應以相同語言傳送。如果目錄中有多種語言,模型效能可能會降低。如果未設定語言代碼,可能會影響拼字修正等功能。

  • 價格資訊:請正確填寫主要產品和子類產品的價格資訊,確保系統提供準確的建議和篩選結果。如果產品缺少產品層級的價格,且僅依賴店面商品目錄資料價格,請以店面商品目錄資料層級價格的中位數填寫主要產品的價格。

設定模式

設定模式會決定屬性設定的處理方式,以及您可以設定的屬性設定。

  • 目錄層級設定模式 (預設):在這個模式中,目錄層級的屬性設定會做為可靠資料來源。
  • 產品層級設定模式 (已淘汰):在這個模式中,系統會使用產品層級的屬性設定做為可靠資料來源。

先前預設模式為產品層級設定。如果目前仍處於產品層級設定模式,且需要切換至目錄層級設定模式,請與支援團隊聯絡。切換後,搜尋功能不支援返回產品層級設定模式。

如要查看設定模式,請前往 Gemini Enterprise for Customer Experience 控制台的「AI Commerce Search」 「控制項」頁面。如果「可編入索引」選項顯示在「整個網站控制項」分頁的資料欄中,表示設定模型為目錄層級。如果「整個網站控制項」分頁中沒有「可編入索引」欄,則設定模型為產品層級。

設定方法

你可以透過下列方式設定屬性:

  • Gemini Enterprise for Customer Experience 控制台中的 AI Commerce Search:使用 Gemini Enterprise for Customer Experience 控制台中的 AI Commerce Search,在目錄層級設定屬性設定。這項設定會為所有產品設定全域屬性。控制台中可用的設定取決於設定模式。如要進一步瞭解如何在控制台設定屬性,請參閱下一節。

  • AttributeConfig API 方法:使用 API 在目錄層級設定屬性。這項設定會為所有產品設定屬性。

  • Product API 方法 (已淘汰):使用 Product API 方法在產品層級設定自訂屬性。新使用者無法使用這個方法設定屬性,因此不建議使用。

在控制台中設定屬性

如要為所有產品全域設定屬性選項,請前往 Gemini Enterprise for Customer Experience 控制台的 AI Commerce Search,然後在「控制項」頁面的「整個網站控制項」分頁中進行設定。如要進一步瞭解如何在控制台中設定這項功能,請參閱「管理整個網站屬性控制項」。

如要使用這項功能,設定模式必須為目錄層級。

如為可建立索引和可供搜尋的項目,屬性設定變更會在擷取目錄時立即生效。否則,變更最多可能需要 12 小時才會生效。您可以在「評估」頁面測試變更是否已套用。

使用 AttributesConfig 設定屬性

AttributesConfig API 資源可讓您在目錄層級管理屬性設定。

下列欄位會在目錄層級設定屬性選項:

如要擷取所有屬性設定,請使用 GetAttributesConfig 方法。

更新多個屬性

使用 updateAttributesConfig 方法,在目錄層級更新多個屬性。

要求中包含的目錄屬性會在目錄中更新,或在不存在時插入。如果目錄屬性欄位沒有值,系統會指派預設值。

每個要求最多可包含 1,000 個目錄屬性。

更新個別屬性

下列方法用於更新個別目錄屬性:

  • AddCatalogAttribute:將個別屬性設定新增至目錄屬性。

    請參閱 AddCatalogAttribute 的 API 參考文件。

  • ReplaceCatalogAttribute:修改個別屬性設定。 這會透過更新目錄屬性 (使用相同的 CatalogAttribute.key),取代 AttributesConfig 中指定的 CatalogAttribute

    請參閱 ReplaceCatalogAttribute 的 API 參考文件。

  • RemoveCatalogAttribute:從 AttributesConfig 移除個別屬性設定。

    只有未用於產品的 CatalogAttributes 才能刪除。如果正在使用 CatalogAttributeRemoveCatalogAttribute 不會刪除該項目,但會將其設定屬性重設為預設值。如果任何產品使用該屬性,CatalogAttribute.inUse 會設為 True

    請參閱 RemoveCatalogAttribute 的 API 參考文件。

命名及建構自訂屬性的最佳做法

將產品資料擴展至預先定義的結構定義時,自訂屬性的命名和格式會直接影響 AI 商務搜尋索引、擷取及分類產品的能力。

請按照下列最佳做法操作,確保搜尋成效達到最佳狀態,並避免驗證錯誤:

  1. 優先使用原生系統屬性。建立自訂屬性前,請先確認是否有適用於資料的預設系統屬性 (例如 brandscolorInfosizesmaterials)。後端 AI 模型比自訂屬性更瞭解預設欄位,並會將這些欄位納入相關性和召回最佳化作業。

    • 範例:請勿將品牌資訊做為 Product.attributes.brand 傳遞。而是直接對應至預設的 Product.brands 欄位。儲存專屬特定資料的自訂屬性,例如 Product.attributes.sleeve_length
  2. 嚴格遵守可索引性的命名慣例。如要使用自訂屬性進行篩選、分面或提升,必須將該屬性標示為 Indexable。如要建立索引,自訂屬性鍵必須符合規則運算式模式 [a-zA-Z0-9][a-zA-Z0-9_]*

    • 有效命名sleeve_lengthKEY_1_LIKE_THIS
    • 命名無效sleeve-length (不允許使用連字號,否則會導致無法建立索引)。
    • 限制:屬性鍵必須是 UTF-8 編碼的字串,長度上限為 128 個字元。單一產品最多可有 200 個自訂屬性。
  3. 定義明確的值類型 (文字或數字)。AI Commerce Search 嚴格規定自訂屬性值必須定義為文字 (text) 或數值 (numbers)。您必須為指定鍵設定其中一種型別,嘗試為相同屬性同時填入 textnumbers 會傳回 INVALID_ARGUMENT 錯誤。

    • 文字屬性:每個屬性最多可有 400 個值。不得使用空字串 ("")。每個值都必須是不含空白字元的 UTF-8 字串,長度上限為 256 個字元。
    • 數值屬性:每個屬性最多可有 400 個值。
    • 分面考量:如要將數值屬性做為 dynamicFacet,必須先在資料管道中將數值型資料類型轉換為 Text 字串,再進行擷取 (例如將 10.99 做為 "10.99" 傳遞)。否則,數值屬性只能做為靜態分面,您必須在搜尋要求中手動明確定義間隔值區。
  4. 有策略地使用完全比對。可精確搜尋的設定適用於沒有語言意義的特定英數字串,例如 model_name (如 "WA2300AH3000") 或 part_number

    • 範例:請勿對含有常見英文名詞或熱門品牌的自訂屬性套用完全比對。這麼做會限制搜尋結果,導致產品召回率偏低,並對點閱率造成負面影響。