設定以取得成功 Live Search

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

本文提供實作的逐步指示 Live Search 替換為 Catalog Service.

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

對象

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

需求

支援平台

  • 雲端上的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
截至 Live Search 3.0.2, Catalog Service 擴充功能與 Live Search 安裝。
  1. 確認 cron工作索引子 執行中。

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

  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. 如果您正在安裝 Live Search 在新的Commerce執行個體上,您已完成,可跳至 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
    

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服務進行初始同步。

WARNING
當資料已編制索引並同步時,店面中無法使用搜尋和類別瀏覽操作。 根據目錄的大小,程式可能需要至少一個小時的時間 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。

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

  2. Live Search,選取 Storefront Features.

  3. 設定 Enable Product Listing WidgetsYes.

    啟用產品清單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.根據您的店面量身打造

您已安裝 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遊樂場的存取權,以測試來自 管理員.
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不會有完整的同位檢查。

建議直接呼叫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會預設為英文。

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

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支援

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

PWA支援

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

  • 目前的PWA實作 Live Search 傳回搜尋結果所需的處理時間比 Live Search 搭配原生Commerce店面。
  • Live Search PWA不支援 事件處理. 因此,搜尋報表和智慧型銷售都將可正常運作。
  • 直接篩選 descriptionnameshort_description 不支援GraphQL搭配使用 PWA,但會以較一般的篩選器傳回。

使用 Live Search 透過PWA Studio,整合經銷商也必須:

  1. 安裝 livesearch-storefront-utils.

  2. 設定 environmentIdstoreDetails 物件。

    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