設定以取得成功 Live Search
Adobe Commerce Live Search 和 Catalog Service 共同合作,提供效能、相關且直覺式的搜尋解決方案,讓客戶快速找到所需的專案。 具體來說, Catalog Service 顯示您的SaaS服務目錄資料,例如 Live Search 以使用。
本文提供實作的逐步指示 Live Search 替換為 Catalog Service.
對象
本文適用於負責安裝和設定Adobe Commerce執行個體的開發人員或團隊中的系統整合商。
需求
- Adobe Commerce 2.4.4+
- PHP 8.1 / 8.2 / 8.3
- Composer
支援平台
- 雲端上的Adobe Commerce (ECE) : 2.4.4+
- Adobe Commerce內部部署(EE) : 2.4.4+
工作流程概觀
概略說明,入門 Live Search 需要您:
1.安裝 Live Search 副檔名
Live Search 會安裝為擴充功能,來自 Adobe市集 到 作曲者. 安裝及設定之後 Live Search,Adobe Commerce 開始與SaaS服務共用搜尋和目錄資料。 此時, 管理員 使用者可以設定、自訂及管理搜尋Facet、同義字和銷售規則。
-
note important IMPORTANT 由於Elasticsearch7於2023年8月宣佈終止支援,建議所有Adobe Commerce客戶移轉至OpenSearch 2.x搜尋引擎。 如需在產品升級期間移轉搜尋引擎的相關資訊,請參閱 移轉至OpenSearch 在 升級指南. -
下載
live-search
封裝來自 Adobe市集. -
從命令列執行以下命令:
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 服務會在背景同步目錄資料和索引產品。
-
執行下列動作:
code language-bash bin/magento setup:upgrade
-
確認下列事項 索引子 設為「依排程更新」:
- 產品摘要
- 產品變體摘要
- 目錄屬性摘要
- 產品價格摘要
- 範圍網站資料摘要
- 範圍客戶群組資料摘要
- 類別摘要
- 類別許可權摘要
-
如果您正在安裝 Live Search 在新的Commerce執行個體上,您已完成,可跳至 2. 設定API金鑰 區段。 如果您要將即時搜尋安裝至現有的Commerce執行個體,請繼續進行下一個步驟。
-
執行以下命令以啟用 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
2.設定API金鑰
需要Adobe Commerce API金鑰及其關聯的私密金鑰才能連線 Live Search Adobe Commerce的安裝。 API金鑰是在的帳戶中產生和維護 Commerce 授權持有者,可與開發人員或系統整合商分享。 開發人員可以代表授權持有人建立和管理SaaS資料空間。 如果您已經有一組API金鑰,則不需要重新產生。
瞭解如何在中設定API金鑰 Commerce服務聯結器 文章。
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服務進行初始同步。
cron
執行以將您的資料同步到SaaS服務。監視同步處理進度
您可以使用檢視已同步和共用的資料 資料管理控制面板. 此儀表板提供您店面產品資料可用性的寶貴見解,確保可及時向購物者顯示。
未來的產品更新
初始同步後,增量產品更新最多可能需要15分鐘才能用於店面搜尋。 若要深入瞭解,請參閱 索引 — 串流產品更新.
4.驗證是否已匯出資料 verify-export
驗證目錄資料是否已從您的Adobe Commerce執行個體匯出並同步 Live Search,您有幾個選項:
-
在下清單格中尋找專案:
catalog_data_exporter_products
catalog_data_exporter_product_attributes
-
使用 GraphQL遊樂場 預設查詢,以驗證以下內容:
- 傳回的產品計數接近您對商店檢視的預期。
- 會傳回多面向。
如需其他說明,請參閱 Live Search 目錄未同步 位於支援知識庫中。
5.設定資料
正確設定您的產品資料可確保為您的客戶帶來良好的搜尋結果。 您可以在此區段中啟用產品清單Widget並指派類別。
啟用產品清單Widget
當您安裝時 Live Search 4.0.0+,產品清單Widget預設為啟用。 Widget啟用時,搜尋結果頁面和類別瀏覽產品清單頁面會使用不同的UI元件。 此UI元件會直接呼叫 目錄服務API,進而加快回應時間。
如果您擁有 Live Search 4.0.0+之前的版本,您必須手動啟用產品清單Widget。
-
從 管理員,前往 Stores > Settings>Configuration.
-
在 Live Search,選取 Storefront Features.
-
設定 Enable Product Listing Widgets 至
Yes
.
當您變更此設定時,訊息 Page cache is invalidated
隨即顯示。 您需要清除Magento快取以儲存變更。
-
存取 快取管理 執行下列任一項作業來建立頁面:
- 按一下 Cache Management 工作區上方訊息中的連結。
- 在 管理員 側欄,前往 System > Tools>Cache Management.
-
選取 設定 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.根據您的店面量身打造
您已安裝 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
檔案如下所示:
-
若您目前已安裝
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
-
開啟根
composer.json
檔案和搜尋magento/live-search
. -
在
require
區段,更新版本號碼,如下所示:code language-json "require": { ... "magento/live-search": "^4.0", ... }
-
儲存
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
module-live-search-adapter
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不會有完整的同位檢查。
建議直接呼叫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支援下列語言:
如果Widget偵測到Commerce管理語言設定(商店 >設定> 設定 > 一般 >國家/地區選項)符合支援的語言,預設為該語言。 否則,Widget會預設為英文。
管理員也可以將語言設定為 搜尋索引,以協助確保獲得更好的搜尋結果。
Widget程式碼存放庫
產品清單頁面Widget和「即時搜尋」欄位Widget都可從其Github存放庫下載。
如此一來,開發人員就能完全自訂功能與樣式。 這些使用者自行託管程式碼,同時仍利用 Live Search 服務。
Inventory management
Live Search 支援 Inventory management Commerce中的功能(先前稱為多來源詳細目錄(Multi-Source Inventory),簡稱MSI)。 若要啟用完整支援,您必須 更新 相依性模組 commerce-data-export
至102.2.0+版。
Live Search 傳回布林值,指出產品是否可在Inventory management中使用,但不包含有關哪個來源有庫存的資訊。
價格索引器
Live Search客戶可使用新的 SaaS價格索引子,提供更快的價格變更更新和同步處理時間。
價格支援
即時搜尋Widget支援大多數(但不是所有)Adobe Commerce支援的價格型別。
目前支援基本價格。 不支援的進階價格為:
- 成本
- 最低廣告價格
檢視 API網格 適用於較複雜的價格計算。
價格格式支援Commerce例項中的地區設定組態設定: 商店 >設定> 設定 >一般> 一般 >本機選項>地區設定。
Headless店面支援
或者,您可能需要安裝 module-data-services-graphql
此模組可擴充應用程式的現有GraphQL涵蓋範圍,以包含店面行為資料收集所需的欄位。
composer require magento/module-data-services-graphql
此模組會將其他內容新增至GraphQL查詢:
dataServicesStorefrontInstanceContext
dataServicesMagentoExtensionContext
dataServicesStoreConfigurationContext
B2B支援
PWA支援
Live Search 可與PWA Studio搭配使用,但使用者與其他Commerce實施之間可能會有細微差異。 在Venia中,基本功能(例如搜尋和產品清單頁面)可正常運作,但Graphql的某些排列可能無法正常運作。 可能也會有效能差異。
使用 Live Search 透過PWA Studio,整合經銷商也必須:
-
設定
environmentId
在storeDetails
物件。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: "$", }, };
Cookie
Live Search 會收集使用者互動資料,作為其基本功能的一部分,而Cookie可用來儲存此資料。 收集任何使用者資訊時,使用者必須同意儲存Cookie。 Live Search 和 Product Recommendations 共用資料串流,因此使用相同的Cookie機制。 如需詳細資訊,請參閱 處理Cookie限制.