如何在 Magento 2 中配置 Elasticsearch

已發表: 2022-12-20

目錄

Magento 平台為企業主提供了一個很好的機會,讓他們能夠以更少的限制和更大的靈活性開設他們的商店。 一個商店的許多類別和子類別下可能有數千種產品,而通常情況下,顧客花在搜索產品上的時間往往很短。 因此,如果您無法為客戶提供輕鬆的搜索體驗和有用的實時搜索結果,您的 Magento 商店可能會面臨轉化率下降的問題。 這就是您需要強大的搜索引擎的原因,而 Magento 2 Elasticsearch 可以助您一臂之力。

Magento 2 中的 Elasticsearch 是什麼?

彈性搜索標誌

根據 Elasticsearch BV 的說法,Elasticsearch 是一種分佈式、免費且開放的搜索和分析引擎,適用於所有類型的數據,包括文本、數字、地理空間、結構化和非結構化數據。

Elasticsearch 於 2010 年首次發布,它建立在一個名為 Apache Lucene 的基於 Java 的搜索和索引庫之上。 它是一個全文搜索引擎,通過比較文檔或數據庫中的詞來建議相關關鍵字並顯示完整查詢。 此外,其分佈式模型和對所有類型數據的開放性使其能夠快速搜索並易於擴展。

由於這些能力,Elasticsearch 被用於應用程序搜索; 網站搜索; 企業搜索; 日誌記錄和日誌分析; 應用性能監控; 地理空間數據分析和可視化; 業務分析等

從 Magento 2.4 開始,Adobe Commerce 或 Magento 要求將 Elasticsearch 作為默認的目錄搜索引擎。 因此,它成為一個強制組件,並且在安裝 Magento 時不能被禁用。 Elasticsearch 實時為客戶提供更快、更相關的搜索結果,從而提高業務轉化率。 這對客戶和 Magento 2 店主來說都是一個巨大的好處。

彈性搜索是如何工作的?

使 Elasticsearch 能夠給出如此快速和可靠的搜索結果的是它的索引能力,在這種能力中它尋找索引而不是檢查文本。 彈性索引是一組結構相似的文檔,可以快速高效地檢索數據,用於存儲邏輯上相關的文檔。

當原始數據從各種來源(例如日誌、系統指標和 Web 應用程序)流入 Elasticsearch 時,Elasticsearch 會對其進行處理。 然後它索引這些數據,之後,用戶可以對數據執行複雜的搜索並使用聚合接收其數據的詳細摘要。 (Elastic.co)

彈性搜索結構
資料來源:thirdrocktechkno.com

Elasticsearch 的一些重要特性

  • 快速文本搜索
  • 搜索建議
  • 自動完成
  • 拼寫/錯誤輸入檢查和停用詞檢測
  • 記錄和分析
  • 地理位置搜索

Magento 2 彈性搜索的優勢

很棒的搜索體驗

搜索引擎的響應時間慢和功能差會導致高跳出率。 憑藉 Elasticsearch 的快速結果生成和實時相關結果,客戶不會氣餒而離開該網站。

由於自動完成和自動建議,客戶可以節省大量時間和精力,並減少不正確的查詢。

此外,搜索者通常會遇到的一件令人惱火的事情是打字錯誤或拼寫錯誤。 這導致搜索引擎無法識別關鍵字並給出“未找到結果”狀態。 Elasticsearch 可以找到停用詞和與之匹配的短語,所以它仍然可以給出相關的結果,甚至可以使它們更準確。

快速搜索

Elasticsearch 是一個強大的工具,可以在 10 秒內檢索搜索到的關鍵字,比典型的基於 SQL 的搜索快得多。 由於它建立在 Lucene 之上並使用分佈式倒排索引,因此 Elasticsearch 在全文搜索方面表現出色。 ElasticSearch 可以捕獲所有針對結果集的搜索查詢,這樣每次搜索查詢包含緩存過濾器時,它都會直接從緩存中搜索結果。 這意味著文檔被索引和可搜索之間的時間相對較短,從而增加了搜索結果響應。

高擴展性和海量數據管理

Elasticsearch 基於分佈式架構。 該公司表示,“存儲在 Elasticsearch 中的文檔分佈在稱為碎片的不同容器中,這些容器被複製以在硬件出現故障時提供數據的冗余副本。” 因此,它的性質允許擴展到數千台服務器並管理大量數據。

此外,它的構建方式使其可以在具有大量節點的任何集群或系統上成功運行。 因此,從一個小集群擴展到一個更大的集群只需要很少的準備,而且幾乎是無縫的。

無模式

Elasticsearch 使用 JSON,即 JavaScript Object Notation。 它存儲帶有索引數據的 JSON 文檔以檢測數據結構並使它們可搜索。 這意味著它不需要任何類型的數據定義,並且通常使用默認值來索引數據,除非給出了特定的數據類型。 當具有新屬性的對象稍後被索引時,映射定義會自動更新。 因此,它是無架構的。

設置 Elasticsearch 的先決條件

作為 Magento 平台的必需附加組件,Elasticsearch 必須在用戶升級到 2.4.x 版本之前安裝和配置。 此外,用戶應注意 Adob​​e 不再支持 Adob​​e Commerce 2.3.x 和 PHP 7.3。 因此建議升級到 Adob​​e Commerce 2.4.x 和PHP 7.4.x以保持 PCI 合規性。

adobe-commerce-note-on-版本
資料來源:Adobe Commerce DevDocs

當前的 Magento 2.4.x 安裝順序要求用戶安裝 Elasticsearch 以及這些附加要求:

  • 網絡服務器(Apache 或 Nginx)
  • MySQL
  • PHP

Magento 為所有安裝請求的版本是 Elasticsearch 7.6.x,因此用戶應確保選擇此版本。 一些當前的第三方 Magento 2 Elasticsearch 擴展可以幫助您將 Elasticsearch 集成到您的 Magento 商店中。

為您的 Magento 商店輕鬆配置 Elasticsearch

在這裡,我們將指導您完成使用 Magento 2 管理面板配置 Elasticsearch 的步驟。

第 1 步:配置 Magento 2 Elasticsearch 搜索選項

1. 以管理員身份登錄到您的 Magento 2 管理面板。

magento-管理面板

2. 點擊商店。設置中,選擇配置。 在此頁面中,單擊“目錄”部分以將其展開。

magento 配置面板

3. 選擇目錄搜索。 在這裡您可以看到所有可供選擇的搜索引擎版本和其他常規設置。

  • 最小查詢長度:在 Elasticsearch 推薦或建議出現之前用戶必須輸入的最小字符數。 系統默認值為 3。
  • 最大查詢長度:輸入以查看結果的最大字符數。 系統默認值為 128。
  • 熱門搜索結果緩存數量:此處輸入熱門搜索結果的限制數量,以提高響應速度。 默認值為 100。第二次搜索某個詞時,提交“0”以緩存所有結果。
  • 啟用或禁用 EAV 索引器:修改此字段以提高索引速度並避免使用索引器的第三方擴展。
  • 自動完成限制:您設置該值以限制為 Magento 2 Elasticsearch 自動完成顯示的最大搜索結果。 這有助於提高搜索性能並縮短顯示的列表。 默認設置為 8。
通用彈性搜索設置

第 2 步:配置 Magento 2 Elasticsearch 連接

下表顯示了配置和測試與 Magento 的連接所需的選項。 如果您不調整任何設置並使用默認設置,請跳至下一步。

Magento-2-elasticsearch-連接測試表
資料來源:Adobe Commerce DevDocs
Magento-2-elasticsearch-connection-test-fields

單擊測試連接以完成設置和測試。

如果連接不成功,請嘗試以下方式

  • 檢查您的 Elasticsearch 服務器是否仍在運行。
  • 登錄到 Magento 服務器並 ping Elasticsearch 主機(如果它與 Magento 位於不同的主機上)。 解決任何網絡連接問題並重新測試您的連接。
  • 在繼續之前解決啟動 Elasticsearch 的命令窗口中的任何堆棧跟踪和錯誤。 並確保您以具有 root 訪問權限的用戶身份啟動 Elasticsearch。
  • 確保關閉 UNIX 防火牆和 SELinux,或通過設置規則啟用 Elasticsearch 和 Magento 之間的通信。
  • 通過使用netstat -an | grep **listen-port**確保在 Elasticsearch 服務器端口字段中選擇的端口未被另一個進程使用。 netstat -an | grep **listen-port**命令。

第三步:配置建議

如上所述,Magento 2 Elasticsearch 的搜索推薦和建議對於尋找合適產品的客戶來說是方便和有幫助的。

在此階段,您可以使用默認設置或進行一些更改:

  • 啟用啟用搜索建議啟用搜索建議字段。
  • 在“搜索推薦計數”“搜索建議計數”字段中選擇提供多少搜索推薦和建議。
  • 允許在“顯示每個建議的結果計數”和“顯示每個建議的結果計數”字段中顯示是否為每個建議和建議找到的結果數。
  • 要匹配的最少字詞中指定一個值,以設置搜索結果需要匹配的最少字詞數量,用戶才能收到最相關的字詞。
Magento-2-elasticsearch-推薦-建議-設置

完成設置後,點擊保存配置

第 4 步:重新索引目錄搜索並刷新整個頁面緩存

更改 Magento 2 Elasticsearch 配置後,您必須重新索引目錄搜索索引並重新加載完整的頁面緩存。 有兩種方法可以做到這一點:使用管理或命令行。

使用 管理面板:

  1. 在管理員中,單擊系統並導航到緩存管理。
  2. 勾選頁面緩存框。
  3. 從頁面右上角的操作列表中選擇刷新
高速緩存管理部分

要清理緩存,請運行magento cache:clean命令。

使用命令行:

  • 以文件系統所有者身份登錄或在您的 Magento 服務器上切換到它。
  • 要僅重新索引目錄搜索索引,請輸入:

bin/magento indexer:reindex catalogsearch_fulltext

  • 要重新索引所有索引器,請輸入:

bin/magento indexer:reindex

  • 等待重建索引過程完成。

結論

Elasticsearch 被 Netflix、LinkedIn、eBay 等知名品牌使用,值得信賴,它可以讓您的客戶輕鬆有效地進行站點搜索。 Magento 2 Elasticsearch 配置完成後,您的商店將得到加強,以將搜索轉化為銷售額並最大限度地減少購物車放棄率。
希望這篇文章對您有用,祝您在電子商務中好運!