1、禁用include和exclude的子结构,使用直接key:value方式。
//旧的方式
POST /twitter/_search?size=0
{
"aggs" : {
"top_users" : {
"terms" : {
"field" : "user",
"include": {
"pattern": "foo.*"
},
"exclude": {
"pattern": ".*bar"
}
}
}
}
}
//新的方式
POST /twitter/_search?size=0
{
"aggs" : {
"top_users" : {
"terms" : {
"field" : "user",
"include": "foo.*",
"exclude": ".*bar"
}
}
}
}
2、data_format根据format内容解读from和to内容
在以前的版本里from和to总是解读为epoch_millis,导致像epoch_seconds等无效了,现在如果在mapping里的format不兼容数据类型,就必须在data_format里提供兼容的format,否则就报错。
3、在term query中global_ordinals_hash和global_ordinals_low_cardinality
被禁用
在6.x版本中terms aggregations只保留了map和global_ordinals两个选项,默认是global_ordinals,只有在query命中的值很少时可以使用map,其他情况使用global_ordinals明显要快很多。官方文档链接
4、在复合聚合中禁用missing
在composite aggregation中使用missing_bucket代替。
1、Synonym Token Filter
tokenizer
和 ignore_case参数被禁用,在新创建的索引中将被忽略,在之前5.x版本创建的索引不受影响。
2、在高亮显示时限制分析文本的最大长度
高亮显示一个没有偏移量和词向量被索引的文本时,这个文本是在内存里实时做请求分析。对于大的文本会使用大量时间和内存,为了防止这张情况发生,在下一个主要版本中限制最大长度为1000000字符。在当前版本还是没有做这个限制的,在分析文本超过1000000时会发出弃用的警告。这个限制可以通过index.highlight.max_analyzed_offset来更改。
3、standard过滤已经被弃用
standard filter不是Standard Tokenizer也不是Standard Analyzer这三个有区别。因为standard filter 在流中不会改变任何东西,所以被弃用了。
4、禁用standard_html_strip analyzer
1、cat线程池中的无限队列大小
以前,如果支持线程池的队列大小无限制,则cat线程池API将在queue_size列中输出空字符串。这已更改为现在输出-1,因此输出始终存在且始终为数字。
1、Java High Level REST Client
在5.6.0版本里就加入了Java High Level REST Client,这个设计在将来会代替TransportClient。
之前的path.data不再有cluster name了
# Assuming path.data is /tmp/mydata
# No longer supported:
$ tree /tmp/mydata
/tmp/mydata
├──
│ └── nodes
│ └── 0
│ └──
# Should be changed to:
$ tree /tmp/mydata
/tmp/mydata
├── nodes
│ └── 0
│ └──
1、version type force
removed
之前可以指定version_type值为force,覆盖之前的版本检查
2、Upserts no longer support versions(官方文档)
这个就是乐观锁,es已经有了乐观并发控制了
Deprecated in 6.7.0. Please use |
3、created
field removed in the Index API(在索引API中created域被移除了)
以后用operation
域代替。
4、found
field removed in the Delete API
以后用operation
域代替。
1、用index_patterns代替之前的template
因为这个字段的值可以是数组也可以是一个单独的值,新的写法下面两个都可以
PUT _template/template_1
{
"index_patterns": ["te*", "bar*"],
"settings": {
"number_of_shards": 1
}
}
PUT _template/template_2
{
"index_patterns": "te*",
"settings": {
"number_of_shards": 1
}
}
2、移除影子副本
影子副本没有太大的作用,同时移除下面三个settings
index.shared_filesystem
index.shadow_replicas
node.add_lock_id_to_custom_path
3、open和close Index API通配符可以匹配不上索引
allow_no_indices设置默认值从false改为true。
4、删除document
从不存在的索引中删除document不再创建索引。但是如果用的是外部版本仍然会创建索引并把document标记为删除。外部版本就是自己添加一个字段作为版本控制。
5、索引别名api只针对解析索引
在delete index api不再接受别名,只接受索引名字或者通配符。
6、在索引表达式中“+”号不再支持
因为加不加都一样的效果。
7、Translog保留
Translog文件默认保留12个小时512M大小,并不会再flush时删除。
8、限制在ShingleTokenFilter中最大值和最小值
限制最大值减最小值默认等于3,这个值可以用index.max_shingle_diff更改。但是如果超过了这个限制就会报被弃用警告。
1、timestamp类型的元数据类型从java.lang.String
改为 java.util.Date
2、
1、size
parameter
在reindex是size参数不能设置为-1,如果所有的文档都请求就不需要带size参数