如何修复Magento 2中“--search-engine”选项不存在的问题?
Magento启用Elasticsearch 7.6.0时“--search-engine”选项不存在的问题解决
问题原因
- Magento版本与命令参数不匹配:Magento 2.4及以上版本已弃用
--search-engine命令行参数,改用--elasticsearch-version指定版本,旧参数被直接移除。 - 使用了过时的配置命令:你可能在执行针对Magento 2.3及更早版本的配置指令,这类命令中的参数在新版本中不再被支持。
解决方法
- 替换为正确的命令参数
如果通过命令行配置Elasticsearch,用--elasticsearch-version替代旧参数,示例配置命令:# 设置Elasticsearch主机 bin/magento config:set catalog/search/elasticsearch7_server_hostname localhost # 设置端口 bin/magento config:set catalog/search/elasticsearch7_server_port 9200 # 设置索引前缀 bin/magento config:set catalog/search/elasticsearch7_index_prefix magento2 # 禁用身份验证(根据实际情况调整) bin/magento config:set catalog/search/elasticsearch7_enable_auth 0 # 设置超时时间 bin/magento config:set catalog/search/elasticsearch7_server_timeout 15 # 指定Elasticsearch版本 bin/magento config:set catalog/search/elasticsearch_version 7.6 - 通过后台面板配置
登录Magento后台,进入Stores > Settings > Configuration > Catalog > Catalog > Catalog Search,在「Search Engine」下拉菜单选择Elasticsearch 7.6+,填写对应主机、端口等信息后保存配置。 - 确认版本兼容性
Magento 2.4.0-2.4.3版本均支持Elasticsearch 7.6.0,确保你的Magento版本与Elasticsearch版本匹配,避免因版本不兼容引发参数问题。 - 刷新缓存
配置完成后执行以下命令刷新缓存:bin/magento cache:clean bin/magento cache:flush
内容的提问来源于stack exchange,提问作者knight King
相关产品推荐
相关产品推荐

