在5.1 重大改变

指数API更改

别名根据(大部分)索引名称的规则进行验证

别名现在根据验证索引名称的几乎相同的规则验证。唯一的区别是允许别名具有大写字符。这意味着别名可能不是:

  • 以_, - 或+开头
  • 包含#,\,/,*,?,“,<,>,|,
  • 超过100个UTF-8编码字节
  • 确切地说 . 或者 ..

仍然支持5.1.0之前版本创建的别名,但不会添加违反这些规则的新别名。由于在弹性搜索中修改别名是删除它并使用_aliases API以原子方式重新创建它,所以也不再支持修改具有无效名称的别名。

Java API更改

Log4j依赖关系已升级

Log4j依赖关系从版本2.6.2升级到版本2.7。如果您在应用程序中使用传输客户端,则应相应地更新Log4j依赖项。

本地发现已被删除

本地发现已被删除;这种发现实现在部落服务内部使用,并在同一个JVM内运行多个节点的测试。这意味着将discovery.type设置为local将在启动时失败。

插件API更改

UnicastHostsProvider现在拉基础

插入一个UnicastHostsProvider的禅宗发现现在是拉基础。实现一个DiscoveryPlugin并覆盖getZenHostsProviders方法。现在也可以使用单独的设置discovery.zen.hosts_provider来完成主机提供程序的选择。

ZenPing和MasterElectService可插拔性被删除

这些类不再可插拔。实现您自己的发现,或从ZenDiscovery扩展,并根据需要进行自定义。

onModule支持已删除

插件以前可以实现名为onModule的方法,它使用了一个Guice模块。所有用于插入自定义行为的onModule的使用现已转换为基于pull的插件,而onModule的钩子已被删除。

其他API更改

指数统计信息和节点统计信息API无法识别的指标

索引统计信息和节点统计信息API允许查询Elasticsearch的各种指标。以前版本的Elasticsearch将默认接受无法识别的度量标准(例如:“transprot”)。在5.1.0中,情况不再如此;无法识别的指标将导致请求失败。这是一个例外,它是5.0.0中删除的渗透度量度,但是对于这些度量的请求将仅在5.1.0开始的5.x系列中产生警告,并将像6.0.0中的任何其他无法识别的度量一样失败。