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 商店的明确搜索引擎选择。