設定以透過Live Search成功

Adobe Commerce Live Search與Catalog Service共同合作,提供效能、相關且直覺式的搜尋解決方案,讓您的客戶快速找到他們所需的專案。 具體來說,Catalog Service會呈現您的目錄資料以供SaaS服務使用,例如Live Search。

本文提供使用Catalog Service實作Live Search的逐步指示。

IMPORTANT
在網站搜尋方面,Adobe Commerce會提供您選項。 在實作之前,請務必閱讀界限和限制,以確保Live Search符合您的業務需求。

客群

本文適用於負責安裝和設定Adobe Commerce執行個體的開發人員或團隊中的系統整合商。

需求

支援平台

  • 雲端上的Adobe Commerce (ECE) : 2.4.4+
  • Adobe Commerce內部部署(EE) : 2.4.4+

工作流程概觀

從高層面來看,上線Live Search需要您:

  1. 安裝 Live Search延伸模組
  2. 設定 API金鑰
  3. 同步處理您的目錄資料
  4. 驗證目錄資料是否已匯出
  5. 設定資料
  6. 測試連線
  7. 驗證事件正在擷取資料
  8. 自訂您的店面

1.安裝Live Search擴充功能

已從Adobe市集透過Composer將Live Search安裝為擴充功能。 安裝並設定Live Search後,AdobeCommerce會開始與SaaS服務共用搜尋和目錄資料。 此時,管理員 ​使用者可以設定、自訂及管理搜尋Facet、同義字及銷售規則。

NOTE
截至Live Search 3.0.2,Catalog Service擴充功能已與Live Search安裝整合。
  1. 確認cron工作索引子正在執行。

    note important
    IMPORTANT
    由於Elasticsearch7於2023年8月宣佈終止支援,建議所有Adobe Commerce客戶移轉至OpenSearch 2.x搜尋引擎。 如需在產品升級期間移轉搜尋引擎的相關資訊,請參閱​_升級指南_​中的移轉至OpenSearch
  2. Adobe市集下載live-search套件。

  3. 從命令列執行以下命令:

    code language-bash
    composer require magento/live-search
    

    如果您正在將Live Search擴充功能新增至​ 新的 Adobe Commerce安裝,請執行以下命令以暫時停用OpenSearch和相關模組,並安裝Live Search。 然後,繼續步驟4。

    code language-bash
       bin/magento module:disable Magento_Elasticsearch Magento_Elasticsearch7 Magento_OpenSearch Magento_ElasticsearchCatalogPermissions Magento_InventoryElasticsearch Magento_ElasticsearchCatalogPermissionsGraphQl
    

    如果您正在將Live Search擴充功能新增至​ 現有 Adobe Commerce安裝,請執行以下動作以停用提供店面搜尋結果的Live Search模組。 然後,繼續步驟4:

    code language-bash
       bin/magento module:disable Magento_LiveSearchAdapter Magento_LiveSearchStorefrontPopover Magento_LiveSearchProductListing
    

    Elasticsearch會繼續從店面管理搜尋要求,而Live Search服務會在背景同步目錄資料和索引產品。

  4. 執行下列動作:

    code language-bash
    bin/magento setup:upgrade
    
  5. 確認下列索引子已設定為「依排程更新」:

    • 產品摘要
    • 產品變體摘要
    • 目錄屬性摘要
    • 產品價格摘要
    • 範圍網站資料摘要
    • 範圍客戶群組資料摘要
    • 類別摘要
    • 類別許可權摘要
  6. 如果您正在新的Commerce執行個體上安裝Live Search,則您已完成,可以跳至2。 設定API金鑰區段。 如果您要將即時搜尋安裝至現有的Commerce執行個體,請繼續進行下一個步驟。

  7. 執行以下命令以啟用Live Search延伸、停用OpenSearch並執行setup

    code language-bash
    bin/magento module:enable Magento_LiveSearchAdapter Magento_LiveSearchStorefrontPopover  Magento_LiveSearchProductListing
    
    code language-bash
    bin/magento module:disable Magento_Elasticsearch Magento_Elasticsearch6 Magento_Elasticsearch7 Magento_ElasticsearchCatalogPermissions Magento_InventoryElasticsearch
    Magento_ElasticsearchCatalogPermissionsGraphQl
    
    code language-bash
    bin/magento setup:upgrade
    

安裝Live Search測試版

IMPORTANT
以下功能為測試版。 若要參與測試版,請傳送電子郵件要求給commerce-storefront-services

此Beta版支援productSearch查詢的三個新功能:

  • 分層搜尋 — 在另一個搜尋內容中搜尋 — 使用此功能,您最多可以執行兩個層級的搜尋來搜尋您的搜尋查詢。 例如:

    • 第1層搜尋 — 搜尋"product_attribute_1"上的"motor"。
    • 第2層搜尋 — 搜尋「product_attribute_2」上的「零件編號123」。 此範例會在結果中搜尋「馬達」的「零件編號123」。

    分層搜尋可用於startsWith搜尋索引和contains搜尋索引,如下所述:

  • startsWith搜尋索引 — 使用startsWith索引搜尋。 這項新功能可讓:

    • 搜尋屬性值以特定字串開頭的產品。
    • 設定「結尾為」搜尋,讓購物者可以搜尋屬性值結尾為特定字串的產品。 若要啟用「結尾為」搜尋,產品屬性需要反向擷取,且API呼叫也應該為反向字串。
  • 包含搜尋索引 — 使用包含索引來搜尋屬性。 這項新功能可讓:

    • 在較大的字串中搜尋查詢。 例如,如果購物者搜尋字串「HAPE-123」中的產品編號「PE-123」。

      • 注意:此搜尋型別與執行自動完成搜尋的現有片語搜尋不同。 例如,如果您的產品屬性值是"outdoor pants",則短語搜尋會傳回"out pan"的回應,但不會傳回"oor ants"的回應。 但是,「包含搜尋」會傳回「或螞蟻」的回應。

這些新條件會增強搜尋查詢篩選機制,以縮小搜尋結果。 這些新條件不會影響主要搜尋查詢。

您可以在搜尋結果頁面上實作這些新條件。 例如,您可以在頁面上新增區段,讓購物者可以進一步縮小搜尋結果。 您可以允許購物者選取特定產品屬性,例如「製造商」、「零件編號」和「說明」。 從該位置,他們使用containsstartsWith條件在這些屬性中搜尋。 如需可搜尋的屬性清單,請參閱管理員指南。

  1. 若要安裝測試版,請在專案中新增下列相依性:

    code language-bash
    composer require magento/module-live-search-search-types:"^1.0.0-beta1"
    
  2. 認可並將變更推送至您的composer.jsoncomposer.lock檔案至雲端專案。 深入瞭解

    此Beta版在Admin中新增​ AutocompleteContains ​和​ Starts with ​的​ Search types ​核取方塊。 它也會更新productSearch GraphQL API,以包含這些新搜尋功能。

  3. 在Admin中,將產品屬性設定為可搜尋,並指定該屬性的搜尋功能,例如​ 包含 (預設)或​ 開頭為。 您最多可以為​ Contains ​指定6個要啟用的屬性,並為​ Starts with ​指定6個要啟用的屬性。 若為測試版,請注意,管理員不會強制執行此限制,但會在API搜尋中強制執行。

    指定搜尋功能

  4. 請參閱開發人員檔案,瞭解如何使用新的containsstartsWith搜尋功能更新您的Live Search API呼叫。

欄位說明

欄位
說明
Autocomplete
預設為啟用,無法修改。 透過Autocomplete,您可以在搜尋篩選器中使用contains。 此處,contains中的搜尋查詢會傳回自動完成型別搜尋回應。 Adobe建議您使用此型別的搜尋來搜尋說明欄位,這些欄位通常超過50個字元。
Contains
啟用真正的「字串中包含的文字」搜尋,而非自動完成搜尋。 在搜尋篩選器中使用contains。 如需詳細資訊,請參閱限制
Starts with
可讓您查詢以特定值開頭的字串。 在搜尋篩選器中使用startsWith

2.設定API金鑰

必須有Adobe Commerce API金鑰及其相關的私密金鑰,才能將Live Search連線至Adobe Commerce的安裝。 API金鑰是在Commerce授權持有者的帳戶中產生和維護的,該帳戶可與開發人員或系統整合商共用。 開發人員可以代表授權持有人建立和管理SaaS資料空間。 如果您已經有一組API金鑰,則不需要重新產生。

Commerce Services Connector文章中瞭解如何設定您的API金鑰。

3.同步處理您的目錄資料 synchronize-catalog-data

Live Search將目錄資料移動到Adobe的SaaS基礎結構。 資料會編制索引,而搜尋結果會從此索引直接傳送到店面。 根據大小和複雜性,索引可能需要30分鐘到數小時的時間。

若要開始將目錄資料初始同步至SaaS服務,請依此順序執行下列命令:

bin/magento saas:resync --feed productattributes
bin/magento saas:resync --feed products
bin/magento saas:resync --feed scopesCustomerGroup
bin/magento saas:resync --feed scopesWebsite
bin/magento saas:resync --feed prices
bin/magento saas:resync --feed productoverrides
bin/magento saas:resync --feed variants
bin/magento saas:resync --feed categories
bin/magento saas:resync --feed categoryPermissions

當您執行這些命令時,會開始將目錄資料與SaaS服務進行初始同步。

WARNING
當資料已編制索引並同步時,店面中無法使用搜尋和類別瀏覽操作。 根據目錄的大小,從cron執行開始,程式至少可能需要一小時才能將您的資料同步到SaaS服務。

監視同步處理進度

您可以使用資料管理控制面板檢視已同步處理和共用的資料。 此儀表板提供您店面產品資料可用性的寶貴見解,確保可及時向購物者顯示。

資料管理儀表板

您也可以使用Commerce CLI和資料匯出擴充功能記錄檔,執行同步處理命令並疑難排解同步處理程式。

未來的產品更新

初始同步後,增量產品更新最多可能需要15分鐘才能用於店面搜尋。 若要深入瞭解,請參閱索引檔案中的串流產品更新

4.確認資料已匯出 verify-export

若要檢查您的目錄資料是否已從Adobe Commerce匯出並與Live Search同步,您有幾個選擇:

  • 在下清單格中尋找專案:

    • cde_products_feed
    • cde_product_attributes_feed
    note note
    NOTE
    如果您收到table does not exist錯誤,請尋找catalog_data_exporter_productscatalog_data_exporter_product_attributes表格中的專案。 這些資料表名稱用於4.2.1之前的Live Search版本。
  • 使用具有預設查詢的GraphQL遊樂場來驗證以下內容:

    • 傳回的產品計數接近您對商店檢視的預期。
    • 會傳回多面向。

如需其他說明,請參閱支援知識庫中的Live Search 目錄未同步

5.設定資料

正確設定您的產品資料可確保為您的客戶帶來良好的搜尋結果。 您可以在此區段中啟用產品清單Widget並指派類別。

啟用產品清單Widget

安裝Live Search 4.0.0+時,預設會啟用產品清單Widget。 Widget啟用時,搜尋結果頁面和類別瀏覽產品清單頁面會使用不同的UI元件。 此UI元件會直接呼叫目錄服務API,如此可加快回應時間。

如果您的Live Search版本早於4.0.0+,則必須手動啟用產品清單Widget。

  1. 從​ 管理員,前往​ Stores > Settings>Configuration

  2. 在​ Live Search ​下,選取​ Storefront Features

  3. 將​ Enable Product Listing Widgets ​設為Yes

    啟用產品清單Widget

當您變更此設定時,會出現訊息Page cache is invalidated。 您需要清除Magento快取以儲存變更。

  1. 執行下列其中一項作業來存取快取管理頁面:

    • 按一下工作區上方訊息中的​ Cache Management ​連結。
    • 在​ 管理員 ​側邊欄上,移至​ System > Tools>Cache Management
  2. 選取​ 組態 Cache Type並按一下​ Flush Magento Cache

    排清快取後,立即變更店面。

指派類別

在Live Search中傳回的產品必須指派給類別。 例如,在Luma中,產品分為「男性」、「女性」和「齒輪」等類別。 也會為「Top」、「Bottoms」和「Watch」設定子類別。 這些類別指派可改善篩選時的精細度。

6.測試連線 test-connection

現在,如果您的目錄資料在SaaS中,請進行測試以確保在以下情況下傳回產品資料:

  • Search方塊正確傳回結果
  • 類別瀏覽正確傳回結果
  • Facet在搜尋結果頁面上可作為篩選使用

如果一切正常運作,Live Search已安裝、連線且隨時可使用。

如果在店面發生問題,請檢查var/log/system.log檔案中的API通訊失敗或服務端發生錯誤。

若要允許Live Search通過防火牆,請新增commerce.adobe.io至允許清單。

7.確認事件正在擷取資料

確保部署到您網站的店面事件可正常運作。 這對Headless實作尤其重要。

8.為您的店面量身打造

您已安裝Live Search擴充功能、同步處理、驗證及設定您的資料。 下一步是確保Live Search Widget符合您商店的外觀與風格。

您可以視需要定義自訂CSS規則,以設定彈出視窗和PLP Widget的樣式。 請參閱樣式彈出視窗元素產品清單頁面Widget

如果您想要擴充Widget的功能,每個元件的原始碼都可在公用存放庫中取得。
在這種情況下,您可以根據自己的需求自訂JavaScript,然後在CDN上託管自訂程式碼。 此自訂指令碼會與Live Search服務通訊,並傳回正常的結果,讓您控制Widget的功能。

正在更新Live Search update

在更新Live Search之前,請從命令列執行下列操作以檢查已安裝的Live Search版本:

composer show magento/module-live-search | grep version

若要更新Live Search,請從命令列執行下列動作:

composer update magento/live-search --with-dependencies

若要更新至主要版本,例如從3.1.1到4.0.0,請編輯專案的根Composer .json檔案,如下所示:

  1. 如果您目前安裝的magento/live-search版本是3.1.1或更低,而且您正在升級至版本4.0.0或更新版本,請在升級之前執行下列命令:

    code language-bash
    bin/magento module:enable Magento_AdvancedSearch
    

    如需目前所安裝magento/live-search版本的相關資訊,請執行以下命令:

    code language-bash
    composer show magento/live-search
    
  2. 開啟根composer.json檔案並搜尋magento/live-search

  3. require區段中,更新版本號碼,如下所示:

    code language-json
    "require": {
       ...
       "magento/live-search": "^4.0",
       ...
     }
    
  4. 儲存composer.json。 然後,從命令列執行下列動作:

    code language-bash
    composer update magento/live-search --with-dependencies
    

正在解除安裝Live Search uninstall

若要解除安裝Live Search,請參閱解除安裝模組

Live Search個套件 packages

Live Search擴充功能包含下列封裝:

封裝
說明
module-live-search
允許商戶設定其面向、同義字、查詢規則等的搜尋設定,並提供唯讀GraphQL遊樂場的存取權,以測試來自​ Admin ​的查詢。
module-live-search-adapter
將搜尋要求從店面路由到Live Search服務,並在店面中呈現結果。
— 類別瀏覽 — 將要求從店面上層導覽路由到搜尋服務。
— 全域搜尋 — 將要求從店面右上角的快速搜尋方塊路由到Live Search服務。
module-live-search-storefront-popover
「依輸入方式搜尋」彈出視窗會取代標準快速搜尋,並傳回熱門搜尋結果的資料和縮圖。

Live Search相依性 dependencies

安裝Live Search擴充功能的Composer中繼套件包含下列模組相依性。

  • magento/module-saas-catalog
  • magento/module-saas-category
  • magento/module-saas-category-permissions
  • magento/module-saas-product-override
  • magento/module-saas-product-variant
  • magento/module-saas-price
  • magento/module-saas-scopes
  • magento/module-bundle-product-data-exporter
  • magento/module-catalog-inventory-data-exporter
  • magento/module-catalog-url-rewrite-data-exporter
  • magento/module-configurable-product-data-exporter
  • magento/module-parent-product-data-exporter
  • magento/module-gift-card-product-data-exporter
  • magento/module-bundle-product-override-data-exporter
  • data-services
  • services-id

進階概念

下列章節提供使用Live Search和Catalog Service時更進階的主題。

端點

Live Search透過https://catalog-service.adobe.io/graphql的端點通訊。

由於Live Search沒有完整產品資料庫的存取權,Live Search GraphQL與Commerce核心GraphQL API沒有完整的同位檢查。

Adobe建議直接呼叫SaaS API,尤其是目錄服務端點。

  • 略過Commerce資料庫/Graphql程式,獲得效能並降低處理器負載
  • 利用Catalog Service同盟從單一端點呼叫Live Search、Catalog Service和Product Recommendations。

對於某些使用案例,最好是呼叫Catalog Service以取得產品詳細資料和類似案例。 如需詳細資訊,請參閱refineProduct

如果您有自訂Headless實作,請檢視Live Search參考實作:

若您未使用搜尋配接器、Luma Widget或AEM CIF Widget等標準元件,預設將無法自動收集使用者互動資料。 Adobe Sensei會使用這項收集到的資料進行智慧型銷售與效能追蹤。 若要解決此問題,您需要開發自訂解決方案,以透過Headless方式實施此資料收集。

Live Search的最新版本已使用Catalog Service。

語言支援

Live Search Widget支援下列語言:

語言
地區
語言代碼
Magento地區設定
保加利亞文
保加利亞
bg_BG
bg_BG
加泰隆尼亞文
西班牙
ca_ES
ca_ES
捷克文
捷克共和國
cs_CZ
cs_CZ
丹麥文
丹麥
da_DK
da_DK
德文
德國
de_DE
de_DE
希臘文
希臘
el_GR
el_GR
英文
英國
en_GB
en_GB
英文
美國
en_US
en_US
西班牙文
西班牙
es_ES
es_ES
愛沙尼亞文
愛沙尼亞
et_EE
et_EE
巴斯克語
西班牙
eu_ES
eu_ES
波斯文
伊朗
fa_IR
fa_IR
芬蘭文
芬蘭
fi_FI
fi_FI
法文
法國
fr_FR
fr_FR
加利西亞語
西班牙
gl_ES
gl_ES
北印度文
印度
hi_IN
hi_IN
匈牙利文
匈牙利
hu_HU
hu_HU
印尼文
印尼
id_ID
id_ID
義大利文
義大利
it_IT
it_IT
韓文
南韓
ko_KR
ko_KR
立陶宛文
立陶宛
lt_LT
lt_LT
拉脫維亞文
拉脫維亞
lv_LV
lv_LV
挪威文
挪威巴克摩
nb_NO
nb_NO
荷蘭文
荷蘭
nl_NL
nl_NL
波蘭文
波蘭
pl_PL
pl_PL
葡萄牙文
巴西
pt_BR
pt_BR
葡萄牙文
葡萄牙
pt_PT
pt_PT
羅馬尼亞文
羅馬尼亞
ro_RO
ro_RO
俄文
俄羅斯
ru_RU
ru_RU
瑞典文
瑞典
sv_SE
sv_SE
泰文
泰國
th_TH
th_TH
土耳其文
土耳其
tr_TR
tr_TR
中文
中國
zh_CN
zh_Hans_CN
中文
台灣
zh_TW
zh_Hant_TW

如果Widget偵測到Commerce管理語言設定符合支援的語言,則會預設為該語言。 否則,Widget會預設為英文。 在Admin中,語言設定是透過導覽至​ Stores> Settings >Configuration > General> Country Options來設定。

管理員也可以設定搜尋索引的語言,以協助確保更好的搜尋結果。

Widget程式碼存放庫

產品清單頁面Widget和「即時搜尋」欄位Widget的程式碼可從GitHub下載。

有權存取程式碼的開發人員可完全自訂其運作和外觀方式。 他們在自己的伺服器上代管程式碼,但仍使用Live Search服務。

Data Export擴充功能

啟用「即時搜尋」後,「資料匯出」擴充功能會將Commerce資料在Commerce應用程式和「即時搜尋」之間同步。 此程式可確保店面上有最新的Commerce資料。 在Admin中,您可以使用「資料管理」控制面板檢查同步狀態。 您可以使用Commerce CLI和記錄檔來管理和疑難排解資料匯出程式。 如需詳細資訊,請參閱資料匯出指南

Inventory management

Live Search在Commerce中支援Inventory management功能(先前稱為多Source詳細目錄,或MSI)。 若要啟用完整支援,您必須相依性模組commerce-data-export更新為102.2.0+版。

Live Search傳回布林值,指出產品是否可在Inventory management中使用,但不包含有關哪個來源有庫存的資訊。

價格索引器

Live Search客戶可以使用SaaS價格索引器,提供更快的價格變更更新和同步處理時間。

價格支援

即時搜尋Widget支援大多數(但不是所有)Adobe Commerce支援的價格型別。

目前支援基本價格。 不支援的進階價格為:

  • 成本
  • 最低廣告價格

檢視API Mesh,瞭解更複雜的價格計算。

價格格式支援Commerce執行個體中的地區設定設定: 商店 >設定> 設定 >一般> 一般 >本機選項>地區設定。

Headless店面支援

您可以選擇安裝module-data-services-graphql模組,該模組會擴充應用程式的現有GraphQL涵蓋範圍,以包含店面行為資料收集所需的欄位。

composer require magento/module-data-services-graphql

此模組會將其他內容新增至GraphQL查詢:

  • dataServicesStorefrontInstanceContext
  • dataServicesMagentoExtensionContext
  • dataServicesStoreConfigurationContext

B2B支援

Live Search支援B2B功能及其他限制

PWA支援

Live Search可與PWA Studio搭配使用,但使用者可能會看到與其他Commerce實作稍微有些差異。 在Venia中,基本功能(例如搜尋和產品清單頁面)可正常運作,但Graphql的某些排列可能無法正常運作。 可能也會有效能差異。

  • 目前Live Search的PWA實作需要比Live Search更長的處理時間才能傳回搜尋結果(使用原生Commerce店面)。
  • PWA中的Live Search不支援事件處理。 因此,搜尋報告和智慧型銷售無法在PWA商店上運作。
  • 使用PWA Studio時,GraphQL不支援直接篩選descriptionnameshort_description,但這些欄位可透過較一般的篩選傳回。

若要搭配PWA Studio使用Live Search,整合器也必須:

  1. 安裝livesearch-storefront-utils

  2. storeDetails物件中設定environmentId

    code language-javascript
    const storeDetails: StoreDetailsProps = {
        environmentId: <Storefront_ID>,
        websiteCode: "base",
        storeCode: "main_website_store",
        storeViewCode: "default",
        searchUnitId: searchUnitId,
        config: {
            minQueryLength: 5,
            pageSize: 8,
            currencySymbol: "$",
            },
        };
    

Live Search會收集使用者互動資料,作為其基本功能的一部分,而Cookie是用來儲存此資料。 收集任何使用者資訊時,使用者必須同意儲存Cookie。 Live Search和Product Recommendations共用資料流,因此使用相同的Cookie機制。 在控制代碼Cookie限制中閱讀更多相關資訊。

recommendation-more-help
1d60634e-b73a-404a-be7a-4a2a36676055