个性化阅读
专注于IT技术分析

如何解决Magento 2弃用问题:目录搜索当前已配置为使用已弃用的MySQL引擎。迁移到Elasticsearch引擎之一

本文概述

此弃用警告你有关Magento产品目录中使用的搜索引擎的MySQL版本。在Magento 2中, 建议将弹性搜索作为默认搜索。将Elasticsearch用作Magento 2 catalong的搜索引擎会带来以下好处:

  • 在目录中快​​速快速搜索产品。
  • 支持多种语言。
  • 支持停用词和同义词。
  • 重新索引完成之前, 索引编制不会影响客户。 Elasticsearch将根据最后生成的索引返回搜索结果, 直到新索引被完全索引为止, 因此不会对客户造成干扰。
  • 准确, 高效且可扩展。
  • 开箱即用, 效果很好。
  • 易于水平缩放。
  • 支持实时数据和分析。
  • 可以用作面向文档的数据存储。
  • 搜索之外的框架中的应用程序, 包括报告, 个性化, 性能和存储。

Elasticsearch将允许你改善默认的Magento搜索结果, 从而增强将出现在搜索结果中的产品的相关性。因此, 必须从默认搜索引擎(基于MySQL)升级到Elastic Search实现。这样做会从Magento管理面板中删除上述警告。

在本文中, 我们将向你介绍如何解决此弃用问题, 从而在Ubuntu 19.04中轻松地将默认搜索引擎从MySQL迁移到Elastic Search。

1.安装Java(JRE和JDK)

解决此问题的首要要求是, 你需要在计算机中安装Java。你可以在终端中键入java -version来验证是否已安装。如果输出的是Java版本, 则显然已经安装了。但是, 如果无法识别该命令, 则需要安装它。继续安装更新作为第一个存储库:

sudo apt-get update

然后, 使用以下命令安装apt-transport-https软件包:

sudo apt-get apt-transport-https

该软件包允许使用/etc/apt/sources.list中的’deb https:// foo distro main’行, 以便所有使用libapt-pkg库的软件包管理器都可以访问可通过https访问的源中可用的元数据和软件包(安全的超文本传输​​协议)。现在你可以通过HTTPS下载软件包, 使用以下命令安装Java Development Kit:

sudo apt-get install openjdk-8-jdk

这将安装JRE。安装Java之后, 你将能够打印安装有以下内容的OpenJDK的版本:

java -version

该命令应在终端中打印工具的版本:

openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-8u212-b03-0ubuntu1.19.04.2-b03)
OpenJDK 64-Bit Server VM (build 25.212-b03, mixed mode)

现在我们有了Java, 我们可以继续安装Elasticsearch。

2.安装Elasticsearch

Elasticsearch是一个开源的, 易于扩展的企业级搜索引擎。通过广泛且精巧的API可以访问Elasticsearch, 它可以支持支持你的数据发现应用程序的超快速搜索。在Ubuntu中开始安装非常容易, 因为首先使用以下命令在你的计算机中添加elasticsearch的GPG密钥:

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

然后, 使用以下命令将弹性搜索存储库添加到系统的sources.list中:

echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list

如果Magento 2有任何问题, 可以用5.x更改6.x, 但是最新版本可以正常工作。

最后, 使用以下命令安装Elastic Search:

sudo apt-get install elasticsearch

在这种情况下, 使用Elasticsearch 6的软件包大小约为350MB, 因此下载需要一段时间。完成后, 继续下一步。

3.配置Elasticsearch服务

默认情况下, Elasticsearch不会将自身安装为服务, 因此你需要使用以下命令将其启用为服务:

sudo systemctl enable elasticsearch.service

然后, 使用以下命令启动服务本身:

sudo systemctl start elasticsearch.service

这足以使elasticsearch正常工作。你可以使用以下命令了解服务的状态:

sudo systemctl status elasticsearch

既然Elasticsearch服务可用了, 你将需要知道它是否有效。

4.测试Elasticsearch是否正常工作

要测试Elasticsearch是否正常工作, 你只需要对本地主机的端口9200执行基本的GET请求。你可以使用CURL进行此操作, 以防万一你没有安装Curl, 请使用以下命令进行安装:

sudo apt-get install curl

然后, 在终端上运行请求:

curl -X GET "localhost:9200/"

你将在终端中看到以下输出:

{
  "name" : "ourcodeworld", "cluster_name" : "elasticsearch", "cluster_uuid" : "Gate_3X_3X_3X_3X_3X_3X", "version" : {
    "number" : "7.2.0", "build_flavor" : "default", "build_type" : "deb", "build_hash" : "508c38a", "build_date" : "2019-06-20T15:54:18.811730Z", "build_snapshot" : false, "lucene_version" : "8.0.0", "minimum_wire_compatibility_version" : "6.8.0", "minimum_index_compatibility_version" : "6.0.0-beta1"
  }, "tagline" : "You Know, for Search"
}

这意味着弹性搜索工作正常!

5.使用Elasticsearch作为搜索引擎

最后, 在配置了几乎所有技术方面之后, 你需要在Magento的管理面板中定义应使用Elasticsearch引擎而不是MySQL。为此, 转到商店, 然后单击配置, 搜索目录, 然后在菜单上转到目录搜索。在此表单中, 选择Elasticsearch 6.0+作为默认搜索引擎, 然后单击”测试连接”按钮:

设置Elasticsearch +6搜索引擎目录Magento 2

如果按钮显示”成功!”, 则说明一切均已配置。不要忘记保存配置。在管理面板中完成此操作后, 一旦位于应用程序的根目录中, 你只需使用命令行清除商店的缓存:

php bin/magento cache:clean

然后, 使用以下命令更新索引:

php bin/magento indexer:reindex

在服务器上运行上述操作将在终端中输出类似以下内容的内容:

Magento缓存清除-重新索引Elasticsearch

就是这样!你现在正在使用Elastic search作为搜索引擎, 并且该警告不应再出现(在将其选中时将其选中)。

编码愉快!

赞(0)
未经允许不得转载:srcmini » 如何解决Magento 2弃用问题:目录搜索当前已配置为使用已弃用的MySQL引擎。迁移到Elasticsearch引擎之一

评论 抢沙发

评论前必须登录!