为什么要安装 Elasticsearch?Elasticsearch 是一个实时分布式搜索引擎,能够执行各种类型的搜索。它在您的 Web 服务器上运行,其灵活的特性使其能够搜索各种类型的文档,无论其数据类型如何,包括结构化、非结构化、地理和指标数据类型。通过安装 Elasticsearch,您可以提高电子商务网站搜索查询的性能和准确性。

从 2.4 版本开始,Magento 使用 Elasticsearch 进行搜索,而不是使用 Mysql。在这篇博客中,我将向您介绍如何安装 Elasticsearch,然后在 Magento 2 中进行设置。

1.安装Java(依赖需要)

因为 Elasticsearch 是基于 Java 开发的开源软件,所以首先设置 Java 至关重要。如您所知,Java 是一种编程语言和平台。Java 是一种高级、健壮、面向对象和安全的编程语言。因此,您可以将注意力从安全问题上移开,并按照以下说明进行操作。

运行以下命令来安装 Java。

sudo apt-get update
sudo apt install openjdk-8-jdk-y

接下来,使用以下命令验证 java 是否已正确安装:

java -version

输出应如下所示:

openjdk version "1.8.0_292" 
OpenJDK Runtime Environment (build 1.8.0_292-8u292-b10-0ubuntu1~20.04-b10) 
OpenJDK 64-Bit Server VM (build 25.292-b10, mixed mode)

2. 安装 Elasticsearch

首先,您必须添加 Elasticsearch 的签名密钥来验证下载的包(如果您已经从 Elasticsearch 安装了包,则跳过此步骤):

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

接下来,您需要安装 apt-transport-https 包:

sudo apt-get install apt-transport-https

现在将 Elasticsearch 存储库添加到系统中。

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

接下来,更新 apt 包的列表并安装 Elasticsearch 引擎。

sudo apt-get update && sudo apt-get install elasticsearch

启动 Elasticsearch 服务。

sudo systemctl enable elasticsearch.service 
sudo systemctl start elasticsearch.service

您可以通过使用以下 curl 命令将 HTTP 请求发送到 localhost 上的端口 9200 来验证 Elasticsearch 是否正在运行:

curl -X GET "localhost:9200/"

结果与此类似:

{
  "name" : "P5wiUFd",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "WfQWVkBvSUam5sD708C6_w",
  "version" : {
    "number" : "6.8.14",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "dab5822",
    "build_date" : "2021-02-02T19:58:04.182039Z",
    "build_snapshot" : false,
    "lucene_version" : "7.7.3",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}

3. 在 Magento 2 中配置 Elasticsearch

获得 Elasticsearch 后,您现在就可以在您的电子商务网站中配置这个强大的搜索引擎了。让我们潜入吧!

从管理侧边栏中,导航到商店 > 设置 > 配置 > 目录 > 目录 > 目录搜索。

在 Search Engine 字段中,清除 Use system value 复选框并选择安装在您的服务器上的 Elasticsearch 版本。

配置 Elasticsearch 连接

  • 输入 Elasticsearch 服务器主机名。默认是本地主机
  • 输入 Elasticsearch 服务器端口。
  • 在 Elasticsearch Index Prefix 字段中输入前缀以确定 Elasticsearch 索引。例如:Magento2。
  • 在 Enable Elasticsearch HTTP Auth 字段中,选择 Yes 选项以使用 HTTP 身份验证来建议用户名和密码访问 Elasticsearch Server。
  • 在 Elasticsearch Server Timeout 字段中输入系统超时前的秒数。默认数字为 15。

要验证配置,请单击测试连接按钮。如果成功,按钮文本将变为“成功!再次测试'

你的配置应该是这样的

完成后,点击“保存配置”。