搜索引擎先决条件
从Adobe Commerce 2.4开始,必须将所有安装配置为使用Elasticsearch或OpenSearch作为目录搜索解决方案。
支持的版本
在安装Adobe Commerce 2.4.4及更高版本之前,必须安装和配置Elasticsearch或OpenSearch。
有关特定版本信息,请参阅系统要求。
推荐的配置
我们建议执行以下操作:
安装位置
以下任务假定您已根据下图配置系统:
上图显示:
-
Commerce应用程序和搜索引擎安装在不同的主机上。
在单独的主机上运行需要代理才能正常工作。 (搜索引擎聚类超出了本指南的范围,但您可以在Elasticsearch聚类文档中找到更多信息。)
-
每台主机都有自己的Web服务器;Web服务器不必相同。
例如,Commerce应用程序可以运行Apache,而搜索引擎可以运行nginx。
-
两个Web服务器都使用传输层安全性(TLS)。
设置TLS超出了我们文档的范围。
搜索请求的处理方式如下:
-
Commerce Web服务器接收来自用户的搜索请求,并将其转发到搜索引擎服务器。
您可以配置搜索引擎以连接到代理的主机和端口。 我们建议Web服务器的SSL端口(默认情况下,443)。
-
搜索引擎Web服务器(在端口443上侦听)将请求代理到搜索引擎服务器(默认情况下,在端口9200上侦听)。
-
HTTP基本身份验证进一步保护对搜索引擎的访问。 对于访问搜索引擎的请求,必须通过SSL 和 传递,并提供有效的用户名和密码。
-
搜索引擎处理请求。
-
通信沿同一路径返回,ElasticsearchWeb服务器充当安全反向代理。
先决条件
本节中讨论的任务需要满足以下条件:
防火墙和SELinux
默认情况下,可以将安全相关软件(iptables、SELinux、AppArmor)配置为阻止子系统之间的通信。 检查他们是否有问题可能是一个好主意。
为iptables和SELinux设置规则
要设置规则以允许与启用防火墙或SELinux进行通信,请查阅以下资源:
安装Java软件开发工具包
要确定是否已安装Java,请输入以下命令:
java -version
如果显示消息java: command not found
,则必须按照下一节中讨论的内容安装Java SDK。
请参阅以下部分之一:
在CentOS上安装JDK
查看此数字海洋教程。
请确保安装JDK和 而不是 JRE。
yum -y install java-1.8.0-openjdk
在Ubuntu上安装JDK
要在Ubuntu上安装JDK 1.8,请以具有root
权限的用户身份输入以下命令:
apt-get -y update
apt-get install -y openjdk-8-jdk
有关其他选项,请参阅Oracle文档。
安装搜索引擎
请按照安装Elasticsearch或安装和配置OpenSearch执行特定于平台的步骤。
要验证Elasticsearch是否正常工作,请在运行该服务器的服务器上输入以下命令:
curl -XGET '<host>:9200/_cat/health?v&pretty'
将显示类似于以下内容的消息:
epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks
1519701563 03:19:23 elasticsearch green 1 1 0 0 0 0 0 0
要验证OpenSearch是否正常工作,请输入以下命令:
curl -XGET https://<host>:9200 -u 'admin:admin' --insecure
curl -XGET https://<host>:9200/_cat/plugins?v -u 'admin:admin' --insecure
升级Elasticsearch
有关在部署到生产环境之前备份数据、检测潜在的迁移问题和测试升级的完整说明,请参阅升级Elasticsearch。 根据您当前的Elasticsearch版本,可能需要也可能不需要完全重新启动群集。
Elasticsearch需要JDK 1.8或更高版本。 请参阅安装Java软件开发工具包以检查安装的JDK版本。
其他资源
请参阅Elasticsearch或OpenSearch文档。