Elasticsearch Reference 5.5 中文翻译6

来源:互联网 发布:半径算法 编辑:程序博客网 时间:2024/06/03 03:51

Breaking changes

重要的更新

This section discusses the changes that you need to be aware of when migrating your application from one version of Elasticsearch to another.
这一章讨论当你需要迁移从一个版本的Elasticsearch迁移到另一个版本的Elasticsearch时需要知道的改变内容。

As a general rule:
一个通用的原则:

  • Migration between minor versions — e.g. 5.x to 5.y — can be performed by upgrading one node at a time.
    从中间版本迁移————例如从5.x到5.y————可以在一个节点上执行更新操作。
  • Migration between consecutive major versions — e.g. 2.x to 5.x —  requires a full cluster restart.
    在两个连贯的主版本之间迁移——————例如从2.x到5.x——————要求整个集群重新启动。
  • Migration between non-consecutive major versions — e.g. 1.x to 5.x —  is not supported.
    跨越主版本之间的迁移——————例如从1.x到5.x————是不支持的。

See Upgrading Elasticsearch for more info.
参见Upgrading Elasticsearch来了解更多的信息。

Breaking changes in 5.5

在5.5版本中的更新内容

Ignoring hidden folders

忽略隐藏文件夹

Previous versions of Elasticsearch would skip hidden files and directories when scanning the plugins folder. This allows broken plugin installs to remain undetected so this leniency has been removed.
之前版本的Elasticsearch在扫描插件目录的时候会跳过隐藏文件和隐藏文件夹。这个会允许有问题的插件安装有遗留没有被检测到因此被取消了。

Skip setting kernel parameters

跳过设置核心参数

Elasticsearch attempts to set the kernel parameter vm.max_map_count during installation. In some environments this can fail. Previous versions of Elasticsearch accepted a flag ES_SKIP_SET_KERNEL_PARAMTERS to skip this writing. Starting in Elasticsearch 5.5.0, this flag has been removed and instead the same functionality can be achieved by masking the systemd-sysctl service.
Elasticsearch在安装时会尝试设置核心参数vm.max_map_count。在一些环境可能会导致失败。之前版本的Elasticsearch接收一个标志ES_SKIP_SET_KERNEL_PARAMTERS来跳过这个操作。从Elasticsearch5.5.0开始,这个标志已经被取消了并且这个功能可以通过使用systemd-sysctl服务来实现。

404s on get alias and get mapping APIs

对于获得别名和获得映射的API返回404错误

Previous versions of Elasticsearch did not return a 404 in all cases when a requested alias or a requested type did not exist on the get alias or get mapping APIs, respectively. Starting in Elasticsearch 5.5.0, these APIs consistently return a 404 in any case when an alias or type is requested that does not exist.
之前版本的Elasticsearch不会返回404因为当一个请求别名或一个请求类型不存在于get alias或get mapping的API中时。从Elasticsearch5.5.0开始,这些API一致返回404当请求的alias或type不存在的时候。

Java API changes

Java的API更新

The has_child, has_parent and parent_id queries have moved to parent-join module. Also the children aggregation has been moved to the parent-join module. The parent-join module should be loaded when using the transport client. Alternatively use the PreBuiltTransportClient client, which load the module automatically.
has_childhas_parentparent_id的查询已经移动到parent-join模块中。并且children聚合也移动到parent-join模块中。parent-join模块应当被加载当使用传输客户端时。相应的使用PreBuiltTransportClient客户端,可以自动加载模块。

Breaking changes in 5.4

在5.4版本中的更新内容

Delete By Query API changes

通过查询API删除的改变

Requests without an explicit query are deprecated and will be invalid in Elasticsearch 6.0.0.
没有明确查询的请求被抛弃并且将会在Elasticsearch6.0.0的版本中被删除。

Breaking changes in 5.3

在5.3版本中的更新内容

Packaging changes

打包更新

Logging configuration

日志配置

Previously Elasticsearch exposed a single system property (es.logs) that included the absolute path to the configured logs directory, and the prefix of the filenames used for the various logging files (the main log file, the deprecation log, and the slow logs). This property has been replaced in favor of three properties:
之前的ELasticsearch暴露的一个系统属性(es.logs)包括配置日志目录的绝对路径,和用于不同日志文件的文件名前缀(主日志文件、错误日志文件和慢日志文件)。这个属性已经被下面的属性所替代:

  • es.logs.base_path: the absolute path to the configured logs directory
    es.logs.base_path:配置日志目录的绝对路径。
  • es.logs.cluster_name: the default prefix of the filenames used for the various logging files
    es.logs.cluster_name:默认的前缀适用于不同的日志文件。
  • es.logs.node_name: exposed if node.name is configured for inclusion in the filenames of the various logging files (if you prefer)
    es.logs.node_name:如果配置了node.name则用于不同日志文件的文件名。(如果你倾向于这样配置)

The property es.logs is deprecated and will be removed in Elasticsearch 6.0.0.
属性es.logs已经被废弃并且会在Elasticsearch6.0.0中被删除。

Use of Netty 3 is deprecated

Netty3的使用是废弃的

Usage of Netty 3 for transport (transport.type=netty3) or HTTP (http.type=netty3) is deprecated and will be removed in Elasticsearch 6.0.0.
使用Netty3作为传输(transport.type=netty3)或HTTP(http.type=netty3)是废弃的并且在Elasticsearch6.0.0中会被移除。

Settings changes

设置的更新

Lenient boolean representations are deprecated

Lenient的布尔值是废弃的

Usage of any value other than false, “false”, true and “true” in boolean settings deprecated.
除了false可以使用任何值,"false"true"true"在布尔设定中是废弃的。

REST API changes

REST的API的更新

Lenient boolean representations are deprecated

Lenient的布尔值是废弃的

Usage of any value other than false, “false”, true and “true” for boolean request parameters and boolean properties in the body of REST API calls is deprecated.
除了false可以使用任何值,"false"true"true"在请求参数中和布尔属性在REST的API请求体中的调用是被废弃的。

Mapping changes

匹配的更新

Lenient boolean representations are deprecated

Lenient的布尔值是废弃的

Usage of any value other than false, “false”, true and “true” for boolean values in mappings is deprecated.
除了false可以使用任何值,"false"true"true"在布尔值在匹配中是被废弃的。

Breaking changes in 5.2

在5.2版本中的更新内容

Packaging changes

打包更新

System call bootstrap check

系统调用bootstrap检查

Elasticsearch has attempted to install a system call filter since version 2.1.0. On some systems, installing this system call filter could fail. Previous versions of Elasticsearch would log a warning, but would otherwise continue executing potentially leaving the end-user unaware of this situation. Starting in Elasticsearch 5.2.0, there is now a bootstrap check for success of installing the system call filter. If you encounter an issue starting Elasticsearch due to this bootstrap check, you need to either fix your configuration so that the system call filter can be installed, or at your own risk disable the system call filter check.
Elasticsearch会尝试安装一个系统调用过滤器从2.1.0版本起。对于一些系统,安装这样的系统调用过滤器可能会导致失败。之前版本的Elasticsearch会记录一个警告日志,但是不会继续执行使得终端用户无法理解情况。从Elasticsearch5.2.0版本开始,增加了启动时检查来保证安装系统调用过滤器的成功。如果你遇到开启Elasticsearch时的启动检查,你需要修复你的配置因此使得系统调用可以被安装或在你已知风险的前提下关闭系统调用过滤器的检查。

Settings changes

设置更新

System call filter setting

系统调用过滤器设置

Elasticsearch has attempted to install a system call filter since version 2.1.0. These are enabled by default and could be disabled via bootstrap.seccomp. The naming of this setting is poor since seccomp is specific to Linux but Elasticsearch attempts to install a system call filter on various operating systems. Starting in Elasticsearch 5.2.0, this setting has been renamed to bootstrap.system_call_filter. The previous setting is still support but will be removed in Elasticsearch 6.0.0.
从2.1.0版本开始Elasticsearch开始尝试安装系统调用过滤器。这是默认开启的并且可以通过bootstrap.seccomp来关闭。这个设置的名字不是很好因为seccomp是指定为Linux而Elasticsearch会在不同的系统中安装系统调用过滤器。从Elasticsearch5.2.0开始,这个设置改名为bootstrap.system_call_filter。之前的设置依然是有效的但是到Elasticsearch6.0.0版本时会被删除。

Java API changes

Java的API的更新

Removed some of the source overrides

移除一些已经被代替的代码

In an effort to clean up internals we’ve removed the following methods:
为了更新内部代码我们去掉了下面列表中的方法:

PutRepositoryRequest#source(XContentBuilder)PutRepositoryRequest#source(String)PutRepositoryRequest#source(byte[])PutRepositoryRequest#source(byte[], int, int)PutRepositoryRequest#source(BytesReference)CreateSnapshotRequest#source(XContentBuilder)CreateSnapshotRequest#source(String)CreateSnapshotRequest#source(byte[])CreateSnapshotRequest#source(byte[], int, int)CreateSnapshotRequest#source(BytesReference)RestoreSnapshotRequest#source(XContentBuilder)RestoreSnapshotRequest#source(String)RestoreSnapshotRequest#source(byte[])RestoreSnapshotRequest#source(byte[], int, int)RestoreSnapshotRequest#source(BytesReference)RolloverRequest#source(BytesReference)ShrinkRequest#source(BytesReference)UpdateRequest#fromXContent(BytesReference) 

Please use the non-source methods instead (like settings and type).
请不要使用上面的方法(例如设置和类型)。

Timestamp meta-data field type for ingest processors has changed

时间元数据域类型用于处理的更新

The type of the “timestamp” meta-data field for ingest processors has changed from java.lang.String to java.util.Date.
timestamp元数据域用于处理的类型已经从java.lang.String改变为java.util.Date

Shadow Replicas are deprecated

Shadow复制被废弃了

Shadow Replicas don’t see much usage and we are planning to remove them.
Shadow Replicas由于使用的较少因此我们计划移除他们。

Breaking changes in 5.1

在5.1版本中的更新

Indices API changes

内部API的更新

Alias names are validated against (most of) the rules for index names

别名的合法性对于(大部分)规则适用于索引名

Alias names are now validated against almost the same set of rules that validate index names. The only difference is that aliases are allowed to have uppercase characters. That means that aliases may not:
别名现在是有效的对于大部分相同的规则适用于索引的名字。唯一的区别是别名允许有大写字母。这意味着下面的写法是不允许的:

  • Start with _, -, or +
    使用_, -+开始的名字
  • Contain #, , /, *, ?, “, <, >, |, ,,
    包含#, , /, *, ?, “, <, >, |, ,,
  • Be longer than 100 UTF-8 encoded bytes
    长度大于100个UTF-8编码的字节
  • Be exactly . or ..
    使用...

Aliases created in versions before 5.1.0 are still supported but no new aliases can be added that violate those rules. Since modifying an alias in elasticsearch is removing it and recreating it atomically using the _aliases API, modifying aliases with invalid names is also no longer supported.
别名开始于版本5.1.0之前并且依然被支持但是不是新的别名可以被添加不能破坏这些规则。因此修改在Elasticsearch中的别名是删除并且重新创建使用_aliases的API,修改别名使用不合法的名字不在被支持。

Java API changes

Java的API更新

Log4j dependency has been upgraded

Log4j依赖已经被升级了

The Log4j dependency has been upgraded from version 2.6.2 to version 2.7. If you’re using the transport client in your application, you should update your Log4j dependencies accordingly.
Log4j依赖已经从2.6.2版本升级到2.7版本。如果你在应用中使用传输客户端,你应当相应的更新你的Log4j依赖。

Local discovery has been removed

本地发现已经被移除了

Local discovery has been removed; this discovery implementation was used internally in the tribe service and for tests that ran multiple nodes inside the same JVM. This means that setting discovery.type to local will fail on startup.
本地发现已经被移除了;这个发现实现是内部使用的在tribe服务中并且用于测试多个节点在相同的JVM中运行。这意味着设置discovery.type到本地会导致启动的时候失败。

Plugin API changes

插件API的更新

UnicastHostsProvider now pull based

UnicastHostsProvider现在是基于pull

Plugging in a UnicastHostsProvider for zen discovery is now pull based. Implement a DiscoveryPlugin and override the getZenHostsProviders method. Selecting a hosts provider is also now done with a separate setting, discovery.zen.hosts_provider.
在UnicastHostsProvider中的差劲啊用于zen发现现在是基于pull的。实现DiscoveryPlugin并且覆盖getZenHostsProviders方法。选择一个主机提供可以使用独立的设置,discovery.zen.hosts_provider

ZenPing and MasterElectService pluggability removed

ZenPing和MasterElectService的可插件化被移除

These classes are no longer pluggable. Either implement your own discovery, or extend from ZenDiscovery and customize as necessary.
这些类不在是可插件化。实现你自己的discovery或继承ZenDiscovery并且自定义是必须的。

onModule support removed

onModule支持移除

Plugins could formerly implement methods of the name onModule which took a single Guice module. All the uses of onModule for plugging in custom behavior have now been converted to pull based plugins, and hooks for onModule have been removed.
实现名字为onModule的方法有一个简单的Guice模块。所有使用onModule用于插件在自定义行为中可以转换为基于pull的插件并且绑定onModule已经被移除。

Other API changes

其他的API更新

Indices stats and node stats API unrecognized metrics

指示状态和节点状态的API不被识别的指标

The indices stats and node stats APIs allow querying Elasticsearch for a variety of metrics. Previous versions of Elasticsearch would silently accept unrecognized metrics (e.g., typos like “transprot”). In 5.1.0, this is no longer the case; unrecognized metrics will cause the request to fail. There is one exception to this which is the percolate metric which was removed in 5.0.0 but requests for these will only produce a warning in the 5.x series starting with 5.1.0 and will fail like any other unrecognized metric in 6.0.0.
指示状态和节点状态的API运行查询Elasticsearch对于不同的指标。之前版本的Elasticsearch可以接收不被识别的指标(例如,输入transprot)。在5.1.0版本中这不在被支持,未识别的指标将导致请求出错。有一个异常是过滤指标在5.0.0中被移除但是在5.x系列中会引起一个警告从5.1.0版本开始并且将会失败对于未识别的指标在6.0.0版本的时候。

原创粉丝点击