Magento 2.4 系列依赖外部搜索服务处理目录搜索。OpenSearch 服务能访问,并不代表 Magento 一定配置正确;版本兼容、认证、索引前缀和网络路径都需要一起确认。
安装前先确认兼容版本
不同 Magento 2.4 补丁版本支持的 OpenSearch 版本不同。不要直接安装仓库中的最新主版本,应根据当前 Magento 版本的系统要求选择。升级搜索服务前,也要先在预发布环境测试索引和查询。
从 Magento 运行环境测试连接
curl -sS opensearch:9200/
curl -sS opensearch:9200/_cluster/health
命令必须从运行 Magento 的容器或服务器执行。开发机能连接,不代表 PHP-FPM 所在网络也能访问。启用 HTTPS 或认证时,不要把密码直接写进公开脚本和日志。
配置搜索引擎
可以在后台的目录搜索配置中填写,也可以使用 CLI。下面只展示常见字段,实际命令选项以当前版本的 setup:config:set --help 为准:
bin/magento setup:config:set \n --search-engine=opensearch \n --opensearch-host=opensearch \n --opensearch-port=9200 \n --opensearch-index-prefix=alwayly_store
同一个 OpenSearch 集群承载多个 Magento 环境时,每个环境必须使用不同索引前缀,避免测试站覆盖生产索引。
连接测试通过以后
bin/magento indexer:reindex catalogsearch_fulltext
bin/magento indexer:status catalogsearch_fulltext
bin/magento cache:clean config full_page
全量索引失败时查看 Magento 日志和 OpenSearch 日志。集群磁盘达到高水位后,索引可能进入只读状态;继续重试不会自行恢复。
生产环境需要监控什么
- 集群健康与未分配分片。
- 磁盘水位和 JVM 内存。
- 索引耗时、查询延迟和拒绝请求。
- Magento 增量索引是否持续更新。
最后不要只搜索一个商品名称。用 SKU、中文分词、部分词、同义词和无结果词分别测试,才能确认“服务连接成功”之外的搜索质量也正常。

