Elasticsearch 7.17.2安装org.wikimedia.search extra插件失败的问题咨询
关于Wikimedia Search Extra插件与Elasticsearch 7.17.2兼容性问题的解答
首先直接给你结论:目前官方确实没有发布适配Elasticsearch 7.17.2版本的org.wikimedia.search:extra插件,你遇到的两种错误分别对应以下情况:
- 尝试安装
7.17.2-wmf1版本时,这个版本的插件根本没有上传到Maven中央仓库,所以出现FileNotFoundException导致下载失败; - 安装
7.10.2-wmf1版本时,Elasticsearch的插件兼容性校验机制会严格检查插件编译时依赖的ES版本和当前运行版本是否一致,7.10.2和7.17.2版本差异较大,因此被拒绝安装。
针对你的问题,有几个可行的解决方向:
1. 降级Elasticsearch到7.10.2版本
这是最稳妥的方案,因为插件明确支持这个版本,能保证插件功能完整且稳定运行。操作时需要注意:
- 先备份好Elasticsearch中的所有数据,避免降级过程中数据丢失;
- 停止当前的ES服务,替换为7.10.2版本的安装包;
- 重新启动ES后,再执行插件安装命令:
./bin/elasticsearch-plugin install org.wikimedia.search:extra:7.10.2-wmf1
2. 自行编译适配7.17.2版本的插件
如果你不想降级ES,可以尝试从插件的官方代码仓库拉取源码,修改依赖中的Elasticsearch版本为7.17.2,然后本地编译打包。不过需要注意:
- 你需要具备基础的Java开发和Maven/Gradle构建经验;
- Elasticsearch从7.10到7.17版本之间,部分内部API可能有变更,编译过程中可能需要调整插件代码来适配新的API;
- 编译完成后,你可以用本地文件安装插件:
./bin/elasticsearch-plugin install file:///path/to/your/compiled/plugin.zip
3. 寻找功能替代方案
如果插件中的某些功能不是必需的,可以看看Elasticsearch 7.17.2的原生功能或者其他兼容高版本的社区插件是否能替代。比如Wikimedia的extra插件通常包含自定义分词器、特殊查询逻辑等,你可以检查ES原生的分词器(如ICU分词器)或者其他官方插件是否能满足你的需求。
内容的提问来源于stack exchange,提问作者Aitor Pérez




