Magento 搜索:揭示 Elasticsearch、SOLR、Sphinx 和 MySQL 的優勢
已發表: 2022-06-30店面不能再僅僅依靠良好的導航。 搜索已成為主要的購買途徑,使用搜索的消費者比不使用搜索的消費者購買的可能性高出 200% 。
本文著眼於 Magento 商家可用的搜索選項,並概述了四種可用的主要工具; 包括 Elasticsearch、SOLR、Sphinx 和 MySQL。 它檢查了每種方法的優缺點,並根據商家的要求提供建議。
繼續閱讀以了解哪個 Magento 搜索選項適合您的店面。
使用搜索的消費者轉化的可能性要高出 200%。
注意:本文不會詳細介紹市場上可用的多個 Magento 搜索擴展,而是專注於更強大的外部解決方案。
開始使用一鍵激活 Elasicsearch 容器。 學到更多。
Magento 搜索的工作原理
安裝搜索引擎後,它會立即通過索引您網站上的內容來工作。 對於電子商務網站,這意味著創建產品“列表”及其屬性。 這個索引過程是連續的。 每次對您的網站進行更新(添加新產品)時,都需要刷新“列表”。
例如,您可以將一套新耳機添加到您的網站。 然後,搜索引擎將索引其標題、描述和價格等內容。 它還將索引您指定的屬性,例如連接類型、是否是降噪等。
當用戶輸入搜索查詢時,搜索引擎將對產品列表及其屬性進行排序,然後帶回最相關的。 不同的搜索引擎以不同的方式執行此操作,並具有用於解釋和過濾更複雜數據的不同功能。
Elasticsearch 是最流行的搜索工具,主要使用 JSON(JavaScript 對象表示法)來實現。 在這裡,不同的屬性在產品創建過程中被標記,然後在搜索過程中用於編譯相關結果。
由於 JSON 是一種如此強大且快速的編程語言,Elasticsearch 意味著商家可以提供除基於文本的字符串之外的搜索值。 對於其他一些搜索引擎 (MySQL),此功能非常有限。
使用 Magento 搜索尋找什麼
無論您選擇使用哪個搜索引擎,您都需要關註六個功能:
- 索引和結果編譯過程需要多長時間? 這些花費的時間越長,您的搜索速度就越慢。
- 搜索引擎可以處理哪些語言? 首先確定哪種語言最適合您的商店,然後確保您的搜索引擎為其提供支持。
- 有哪些自然語言處理功能? 這不僅現在很重要,對語音搜索也很重要。
- 分面搜索如何工作以及過濾器的詳細程度如何?
- 搜索引擎的準確性如何? 值得首先嘗試搜索引擎,看看它是否確實提供了準確的結果。
- 同義詞管理(對小眾商店尤其重要)
考慮到這六個功能,我們查看了 Magento 商家可用的四個最受歡迎的搜索選項。
下面的每個選項都可以在現代商店中使用。 但是,有一個可以真正解鎖對商家網站的強大搜索。
彈性搜索
Elasticsearch (ES) 是目前最流行的 Magento 搜索的默認選項。
作為基於 Java 的文檔存儲,Elasticsearch 被設計為存儲大量 JSON 文檔並與它們進行原生對話。 因此,除了能夠處理基於文本的查詢外,它還可以理解高級分析查詢,包括解釋數字和地理數據。
Elasticsearch 真正的亮點在於它對 Apache Lucene 的實時搜索的全面支持。 從客戶的角度來看,這意味著 ES 能夠提供更快、更相關的搜索體驗。 對於店主來說,這意味著更快的轉化。
目前,我們和 Magento 都推薦使用 Elasticsearch。 部分原因是它很容易設置。 在 Nexcess 帳戶上,可以在客戶端的環境選項卡下打開它。 然後可以按照本指南將端點轉移到 Magento 中。
目前,Foursqaure 和 Github 都使用 Elasticsearch。
更快、更準確的搜索選項
對於 74% 的消費者而言,電子商務網站上搜索結果的質量和相關性決定了他們是否購買。 即使搜索者通過模糊搜索不確定他們在尋找什麼,Elasticsearch 也有助於使搜索變得相關。
模糊搜索允許商店通過獲取文本查詢並基於不僅僅是一對一的單詞比較來解釋它們來解釋客戶查詢。 結合同義詞和停用詞解釋,這使 ES 成為商家可用的功能更強大的搜索引擎之一。
Elasticsearch 能夠提供更快、更相關的搜索體驗,從而帶來更多轉化。
ES 還允許商家根據定義的參數自定義搜索結果。 用於執行此操作的技術之一是有限狀態傳感器。 在英語中,這意味著 ES 可以處理同時考慮輸入和輸出的搜索查詢,然後可以根據這兩條數據之間的關係提供結果。
複雜的搜索查詢支持
雖然 Elasticsearch 和 SOLR(如下)都基於 Lucene 查詢解析,但 Elasticsearch 提供了對結構化查詢 DSL的支持。 這允許使用 Lucene 搜索引擎不支持的更複雜的搜索查詢。
Elasticsearch 還支持評分腳本,可以通過 JavaScript 編寫和實現。 目前,SOLR 不提供此功能。
官方和社區圖書館支持
官方: Java、PHP、Javascript、Python、Groovy、Ruby、Perl、.NET、
社區: Java、JavaScript、PHP、Python、R、Ruby、Clojure、Cold Fusion、Erlang、Go、Groovy、Haskell、.NET、OCaml、Perl、Scala、Smalltalk、Vert.x
彈性搜索專家
- 已成為默認 Magento MySQL 搜索引擎的默認替代品
- 比 SOLR 快一點
- 更符合現代 Web 開發實踐(因此可能更易於使用)
- 準備好使用Nexcess Elasticsearch Container 解決方案開箱即用
Elasticsearch 缺點
- 由於索引將佔用空間
- 託管空間可能需要額外費用
- 需要冗長的索引
詳細了解 Elasticsearch 以及它現在如何提升您的電子商務平台。

SOLR
Magento 的另一個獨立、可擴展的搜索選項。 長期以來,SOLR 在高流量網站的 Magento 搜索市場中佔據主導地位。 它不僅提供了搜索管理員正在尋找的許多重要功能,而且還是一種可擴展的解決方案,能夠處理繁重的流量負載。
SOLR 搜索的一些功能包括:
- 基於拼寫錯誤的搜索詞建議
- 加權搜索結果
- 分層導航
- 強大的自動完成
- 相關性管理
- 支持同義詞和停用詞
目前,Cnet 和 Netflix 使用 SOLR。
近乎實時的搜索速度
SOLR 的亮點在於群組搜索。 這是因為 SOLR 支持分佈式組(包括分組排序、過濾和分面)。 對於電子商務商店,這允許客戶自定義他們的搜索體驗以提供更相關的結果。 目前,主要競爭對手 Elasticsearch 並不以同樣的方式支持這一點。
強大的現場搜索提供的不僅僅是直接購買途徑。 它還為客戶提供了研究途徑。
與替代方案相比,SOLR 是一個實現起來更複雜的搜索引擎。 不僅 SOLR 的界面需要比 Elasticsearch 更長的時間來學習,而且它的部署也需要更多的知識。
如果您正在尋找一些附帶工作的附加功能,那麼 SOLR 可能是一個不錯的選擇。 但是,在 100 個案例中有 99 個案例中,我們建議 Magento 商店所有者選擇 Elasticsearch。
官方和社區圖書館支持
官方: Java
社區: PHP、Python、Javascript、Ruby、Erlang、Perl、Scala、Go、Clojure、.NET
SOLR 優點
- Magento 1 商店的熱門搜索選項
- 不需要大量的索引過程
- 真正的開源
SOLR 缺點
- 更難實施
- 不再是 Magento 搜索中最新最好的
獅身人面像
Sphinx是一個強大的 Magento 搜索工具,能夠索引多種內容類型並支持多種書面語言。 雖然不如上述選項強大,但由於易於集成,它受到許多 Magento 1 商店的青睞。
Sphinx 目前被 Mozilla、Craiglist 和 Dailymotion 使用。
從高級模塊快速搜索
默認情況下,Sphinx 不通過外部容器運行,而是可以通過 Magento Marketplace 下載的擴展程序。 儘管如此,當與此列表中的其他選項競爭時,它仍然能夠保持自己的地位。
根據他們自己的文檔,當產品目錄包含超過 1,000,000 個 sku 時,Sphinx 能夠提供超過 500 個查詢/秒。
就其實際搜索功能而言,Sphinx 包含您在此處列出的大多數其他搜索引擎中看到的許多功能,包括:
- 同義詞和復數形式支持
- 長尾搜索
- 停用詞支持
Sphinx 還允許多種搜索類型,包括產品、類別、屬性和博客內容。 它的形態預處理器允許用它們的基本形式替換不同的單詞形式。 在 Sphinx 的示例中,這意味著將 Dogs 翻譯成 Dog。 當然,還有更複雜的用例,這有助於為客戶提供獨特且高度相關的結果。
當產品目錄包含超過 1,000,000 個 sku 時,Sphinx 能夠提供超過 500 個查詢/秒。
Magento 1 搜索工具
雖然我們總是推薦使用 Elasticsearch,但我們發現當使用 Sphinx 時,它往往與 Magento 1 商店一起使用。 如果您正在運行 Magento 2 商店,那麼 Elasticsearch 是一個更好的選擇 - 特別是如果您剛剛開始或正在從 magento 1 重新構建平台。
如果您對如何在 Magento 1 上配置搜索感興趣,那麼我們建議您查看Shero 的這篇文章。
獅身人面像專業人士
- 許多大型流行網站使用的強大搜索引擎
- 多年的發展使其穩定
獅身人面像缺點
- 不像替代品那樣得到很好的支持
- 缺乏 Elasticsearch 和 SOLR 的速度
MySQL
Magento 的原始默認搜索引擎。 雖然它本身就是勝任的,但它無法與可用的企業選項相提並論。 此外,現在已棄用 Magento 的 MySQL 搜索選項。 相反,Magento 2 現在配置為默認使用 Elasticsearch 搜索選項。
默認的 MySQL 搜索還缺少一些您可以在 SOLR 或 Elasticsearch 中找到的其他功能,包括建議、聚類、屬性權重和返回零結果時的提示。
因此,我們建議避免使用默認的 MySQL 搜索選項。 鑑於 Elasticsearch 目前提供的易於集成,您為什麼不想要更強大的搜索來支持您的 Magento 商店呢?
MySQL 優點
- 免費
MySQL 缺點
- 它不像其他選項那麼強大
- 它已被棄用
通過擴展擴展 Magento 搜索功能
如果您擁有一個較小的 Magento 商店並且不想投資專門的搜索引擎,那麼也可以通過擴展擴展 Magento 的搜索功能。 這些可以從Magento Marketplace找到和下載。
最好的 Magento 搜索引擎
我們建議所有商家都遷移到 Elasticsearch 。 不僅因為它很容易與您的 Magento 商店集成,還因為它提供了對替代品的大量改進。
雖然速度和性能與 SOLR 相當,但 Elasticsearch 確實有一點優勢。 由於模糊搜索、完整索引和 DSL 查詢支持等許多附加功能,它還允許消費者使用更相關的結果進行更複雜的搜索。
在開發方面,Elasticsearch 還提供了更多的官方和社區客戶端庫。 這意味著您的開發人員更有可能能夠有效地處理和擴展它。 結合它在 Nexcess 容器平台上的開箱即用準備,它成為大多數 Magento 商店的明確搜索引擎選擇。