搜索引擎配置
此部分讨论使用Adobe Commerce的内部部署测试Elasticsearch或OpenSearch时必须选择的最低设置。
当版本2.4.6中引入对Elasticsearch8.x的支持时,创建了新标签以区分Elasticsearch配置和OpenSearch配置。
有关配置搜索引擎的其他详细信息,请参阅用户指南。
从管理员配置搜索引擎
要将系统配置为使用Elasticsearch或OpenSearch:
-
以管理员身份登录到管理员。
-
单击 Stores > Settings > Configuration > Catalog > Catalog > Catalog Search。
-
从 Search Engine 列表中,选择搜索引擎的相应版本。
下表列出了配置和测试与Commerce的连接所需的选项。 除非您更改了搜索引擎的服务器设置,否则默认设置应该有效。 跳至下一步。
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 选项 描述 Server Hostname 输入运行Elasticsearch或OpenSearch的计算机的完全限定主机名或IP地址。云基础架构上的
Adobe Commerce:从集成系统中获取此值。Server Port 输入Web服务器代理端口。 云基础架构上的默认值为9200
Adobe Commerce:从集成系统中获取此值。Index Prefix 输入搜索引擎索引前缀。 如果您将单个实例用于多个Commerce安装(暂存环境和生产环境),则必须为每个安装指定一个唯一的前缀。 否则,您可以使用默认前缀magento2。 Enable HTTP Auth 仅当为搜索引擎服务器启用了身份验证时,才单击 Yes。 如果存在,请在提供的字段中提供用户名和密码。 Server Timeout 输入尝试建立与Elasticsearch或OpenSearch服务器的连接时等待的时间(以秒为单位)。 -
单击 Test Connection。
示例响应:
继续:
或者您会看到:
如果是这样,请尝试以下操作:
-
确保搜索引擎服务器正在运行。
-
如果服务器与Commerce不在同一台主机上,请登录到Commerce服务器,然后ping搜索引擎主机。 解决网络连接问题并再次测试连接。
-
检查启动Elasticsearch的命令窗口或OpenSearch以查找栈栈跟踪和异常。 您必须先解决这些问题,然后才能继续。 特别是,请确保您以具有
root
权限的用户身份启动搜索引擎。 -
请确保UNIX防火墙和SELinux均已禁用,或设置规则以使您的搜索引擎和Commerce能够相互通信。
-
验证 Server Hostname 字段的值。 确保服务器可用。 您可以改为尝试服务器的IP地址。
-
使用
netstat -an | grep <listen-port>
命令验证 Server Port 字段中指定的端口是否未被其他进程使用。例如,要查看您的搜索引擎是否在其默认端口上运行,请使用以下命令:
code language-bash netstat -an | grep 9200
如果它在端口9200上运行,则显示类似以下内容:
code language-none `tcp 0 0 :::9200 :::- LISTEN`
重新索引目录搜索并刷新全页缓存
更改搜索引擎配置后,必须重新索引目录搜索索引,并使用管理或命令行刷新全页缓存。
使用Admin刷新缓存:
-
在“管理员”中,单击 System > Cache Management。
-
选中 Page Cache 旁边的复选框。
-
从右上角的 Actions 列表中,单击 刷新。
要使用命令行清理缓存: bin/magento cache:clean
使用命令行重新索引: