5

我为 elasticsearch 开发了几个插件,这些插件可能需要(或多或少)频繁更新。我的简单问题是:有没有一种方法可以更新弹性搜索插件,而无需删除旧版本、删除相关索引、安装新版本并从头开始重建索引?

提前致谢。

4

3 回答 3

6

无法更新现有插件。您需要删除旧版本并安装新版本。

不过,我没有收到您关于索引的问题。插件不一定适用于数据,它可以只是一个站点插件、查询解析器等。如果插件确实适用于索引并且您想升级它,但弹性搜索版本保持不变,我不看看你为什么需要重新索引。唯一的情况是插件本身以非向后兼容的方式更改。

于 2013-11-15T10:09:31.733 回答
0

截至最新版本 2.4.1 (2016-10-18) 仍然无法轻松做到这一点,因为 elasticsearch 人建议手动更新插件

预计当您更新 Elasticsearch 并启动服务时,您最终会遇到错误,因为服务不会启动,因为插件是 ES 版本之后的一个次要版本,例如“许可证”。

转到您的 elasticsearch bin 目录并运行以下命令:

sudo ./plugin remove <plugin name>
sudo ./plugin install <plugin name>

您甚至可以大胆地编写一个“更新”shell 脚本来为您执行此操作。

于 2016-10-18T15:44:54.303 回答
0

这里有一个 bash 脚本:

#!/bin/bash

plugin_bin=/usr/share/elasticsearch/bin/plugin
for plugin in $($plugin_bin list | awk '/^\s*-\s*(\S+)/{print $2}')
do
    $plugin_bin remove $plugin && $plugin_bin install $plugin
done
于 2016-10-25T09:15:38.540 回答