截至 2018-06-10 Elasticsearch6.2.4html
PUT _cluster/settings { "persistent":{ "cluster.routing.allocation.enable": "none" } }
POST _flush/synced
当执行synced flush时,应该检查响应结果,确认写入是否成功,响应体会列出因为索引期间因为失败而挂起的同步操做,而返回状态码仍然为200。若是失败了,从新提交请求。 GET _cat/nodes
请求确认。PUT _cluster/settings { "persistent":{ "cluster.routing.allocation.enalbe":null } }
GET _cat/health
请求检查进度。等待status列从yellow变为green。一旦node为green,全部的主分片和复制分片都已经被分配。滚动更新时,分配到新版本节点上的主分片不会分配复制分片到老版本节点。若是不能分配复制分片到其余节点(集群中仅有一个更新的节点),复制分片会一直保持未分配,status会保持yellow。这种状况下,只要没有初始化或重定位分片,就能够继续(检查init和relo列)。一旦有其余节点被更新,复制分片能够被分配(须要有复制数的其余分片更新),状态会变为green。未sync-flushed的分片可能须要更长时间来恢复。能够经过GET _cat/recovery
请求监控独立分片的恢复状态。若是中止索引,一完成恢复就继续索引是安全的。 GET _cat/health
GET _cat/nodes
请求检测加入集群的节点。_cat/health
和_cat/recovery
api进行检测。refresh_interval
为-1
,number_of_replicas
为0
refresh_interval
和number_of_replicas
的值与老的索引中使用的相同reindex.remote.whitelist: oldhost:httpport
来开启对老索引的访问refresh_interval: -1
,number_of_replicas: 0
来快速重建索引POST _reindex
重建索引,若是设置wait_for_completion: false
让重建索引工做后台执行,reindex请求会返回一个 task_id ,能够经过使用 task API :GET _tasks/TASK_ID
检测重建索引工做进度refresh_interval
和number_of_replicas
为但愿的值(默认为30s(索引文档可读取时间)和1(复制分片数量))version_type
为 force
覆盖文档版本检查的操做version
created
字段(元素),使用operation
字段代替。found
字段,应该使用operation
字段代替。index_patterns
代替 template
,能够在一个数组中定义多个glob风格的通配模式,对于单个通配模式,也支持直接使用一个字符串,两种方式都是有效的index.shared_filesystem
, index.shadow_replicas
, node.add_lock_id_to_custom_path
allow_no_indices
的默认值从false改成true,与 Delete index API 一致。所以,当Open/Close index API 使用一个没匹配任何打开/关闭的索引的通配表达式时,不会返回一个错误。+
(遗漏+
符号与使用具备相同效果,所以移除索引表达式中+
的支持)flush
时删除,这是为了在请用一个复制加速时,基于操做的恢复的机会index.max_ngram_diff
改变,若是超过限制会产生警告日志index.max_shingle_diff
属性改变,若是超过这个限制会输出警告日志ingest.new_date_format
来让ingest.timestamp
元数据字段被格式化为ES能够不须要进一步转换强制使用date类型,限制再也不须要这样了,而这个设置被移除,能够简单的经过在管线中设置一个字段到{{ingest.timestamp}}来得到date类型的字段而不会有任何mapping错误setSource
和其余方法接受字节/字符串对象源表示而不须要指定XContentType,自动侦测内容类型再也不使用,当提供字节或一个字符串做为source时,这些方法如今须要指定XContentType做为额外的参数XContentTypeexecute
方法接受一个listener参数来替代_all
元字段默认不启用,在以前使用_all字段进行搜索的query_string
和simple_query_string
如今将检查是否启用_all字段,并在_all字段禁用时执行跨越全部字段的query。_all
字段在Elasticsearch6.0以后建立的索引中将再也不能够配置include_in_all
设置在这些索引中将再也不可用match_mapping_type
类型的动态模板,如今将会跑出一个未识别类型的异常date
字段的locale
选项容许几乎全部的字符串,未识别的值将会简单的被忽略,6.0以后在索引建立时未识别的值将被拒绝ES_PATH_CONF
环境变量配置用户设定目录来替代default.path.data
和default.path.logs
来设置没有被设定文件中的其余设定覆盖时的默认数据路径和默认日志路径。这些设定被移除了,如今数据路径和日志路径仅能经过设定配置,相应的,经过packagin scripts设定default.path.data和default.path.logs的环境变量DATA_DIR
和LOG_DIR
将再也不生效。另外,这意味着若是你使用分发包(如经过RPM或DEB分发包安装安装),在以前没有明确指定path.data或path.logs,在迁移配置文件时,必须增长path.data
和path.logs
的设定。使用以前的默认值,须要添加两行设定path.data: /var/lib/elasticsearch
和path.logs: /var/log/elasticsearch
到elasticsearch.yml
文件中。若是已经指定了,须要保留他们。若是不这么作,Elasticsearch将没法启动-server
标记 与以前32位再也不支持的改变相关,默认的jvm.option
文件再也不包含-server
标记。先前,因为与服务不兼容,在Windows service将过滤 -server 标记。因为jvm.options文件再也不包含 -server ,这个标记的过滤将在 Windows service 安装时移除,这意味着若是你的jvm.options文件包含这个标记,你须要移除他ES_JVM_OPTIONS
容许jvm.options文件自定义位置的环境变量 ES_JVM_OPTIONS 被移除,促使使用环境变量 ES_PATH_CONF。这个环境变量已经在packaging中用来支持配置文件的定位,因此这个改变只是让jvm.options文件与其余配置文件放在一块儿percolator.map_unmapped_fields_as_string
设定 应该使用percolator.map_unmapped_fields_as_text
设定来代替Environment
实例 之前,容许从Settings构建一个Environment实例来发现特定插件的配置文件,在全部Settings
对象没有包含正确设定的配置路径的必要信息时将不适用。相反,须要知道配置路径的插件应该有一个接受Settings
和Path
实例的构造函数,经过使用Environment上适当的构造函数构造一个Environmentsize
参数 size参数不能再指定为-1。若是须要全部的文档,那么不该该设置size参数source
查询字符串参数时,一样要指定source_content_type
参数指定源媒体类型false
和true
做为值,全部其余的值将致使一个错误tokenizer
或者analyzer
参数,在Elasticsearch6.0,若是设定了char_filter/filter而且没有设定tokenizer/analyzer,Analyze API 可以分析文本为自定义标准化关键字字段DELETE index/type/id
当type不存在时,如今会经过default mapping隐式建立typeGET /_aliases,_mappings
或 GET /myindex/_settings,_alias
使用逗号分割多种请求类型获取一个或多个索引的多种类型信息,逗号分割获取多种信息片断的用法已经被移除了。使用 GET /_all
获取全部索引 aliases,settings,mappings 信息。使用 GET /myindex/_mapping|_alias|_settings
获取一个索引对应信息Allow
头将被添加到405响应中,包含容许的方法(动做)_cache
和_cache_key
选项被彻底移除了,使用他们将抛出一个错误ignore_unavilable
为false时,对一个关闭的索引调用全部在关闭的索引上不支持的api,将返回一个IndexClosedException
,响应状态码将从403改变为400implement a ScriptEngine
代替doc.some_dete_field.value
如今返回ReadableDateTime
来取代epoch以来毫秒数的long值。doc.some_date_field[some_number]
也是同样。若是有须要,使用doc.some_date_field.value.millis
来获取epoch以来的毫秒数_index
变量如今被移除了,若是你须要用他来进行高级排序,考虑写一个Similarity
插件script.allowed_types
和allowed_contexts
代替lang
不能再指定lang
变量为使用了stored script的请求的一部分,不然会出现一个错误。注意一个使用了stored script的请求与puts一个stored script的请求是不一样的。脚本的语言已经做为集群状态的一部分储存,执行stored script使用id
已经能够获取全部必要的信息lang
在使用_scripts/
路径执行PUT|GET|DELETE动做的stored script时,不能再指定lang参数为url的一部分。全部的stored scripts必须有一个惟一的id
做为命名空间,如今仅有id
而再也不有lang
和id
_search/template
apis,使用带store search templates的stored script api来代替span_near
query的collect_payloads
参数,payloads将在须要时加载in
query(与terms
query相似)geo_bbox
query(与geo_bounding_box
query相似)mlt
query(与more_like_this
query相似)more_like_this
query的like_text|ids|docs
参数(都与like
相似),min_word_len
(与min_word_length
相似),max_word_len
(与max_word_length
相似)fuzzy_match
和match_fuzzy
query(与match
query相似)indices.query.bool.max_clause_count
的主体indices
query{ }
)的支持,当使用一个空查询对象时将会抛出一个异常minimum_number_should_match
被移除,应该使用minimum_should_match
代替query_string
query在使用max_determinized_states
将容许正确解析最大状态数量enable_position_increment
,使用enable_position_increments
代替geo_distance
查询、排序和聚合,在distance_type
参数中移除了sloppy_arc
选项geo_distance_range
querygeo_distance
query中移除了optimize_bbox
参数geo_bounding_box|geo_polygon|geo_distance
query中移除了ignore_malformed|coerce
参数bool|common_terms
queries中移除了disable_coord
参数,若是提供了,将被无视并输出弃用警告template
querypercolate
query的document_type
,不能再指定document_type
参数split_on_whitespace
参数,若是提供了,会输出废弃警告。query_string query如今仅使用操做符分割use_dis_max
参数,必须使用tie_breaker
参数代替auth_generate_phrase_queries
参数,使用明确引用的queryquery_string
和simple_query_string
的all_fields
参数,使用设置default_field
为*`代替,若是提供了,default_field会自动设置为*index
参数如今是强制的(用来在专门的索引中查找terms),在以前,index默认为执行query的index,如今index必须在请求中明确设定match
query中的type
和slop
参数被移除了,使用match_phrase
或match_phrase_prefix
来代替设置type
。从match
移除了slop
可是在match_phrase
和match_phrase_prefix
支持了match_phrase
query的phrase_slop
参数(与slop
参数类似)constant_score
query中的query
参数(与filter
参数类似)phrase_slop
参数(与slope
参数类似)prefix
query中移除了prefix
参数(与value
参数类似)range
query中移除了le
(与lte
类似)和ge
(与gte
类似)ids
query中与type
类似的types
和_type
参数constant_score
类似的constant_score_auto
和constant_score_filter
type
url参数time
字段显示人类可读的时间输出被显示使用纳秒数的time_in_nanos
字段代替,能够经过在请求url中加上?human=true
打开time
字段,将会显示取整的人类可读的时间值_uid
字段数据 废弃了_uid
字段数据,能够改成使用_id代替,而他(_id)仍没有被启用的缘由是由于在random_score
function中被使用(没有设定一个seed字段时,默认会用_id,但会消耗大量内存,不设定seed字段的用法弃用)。若是你真的须要获取文档id来排序、聚合或搜索,推荐冗余id做为文档的一个字段unified
高亮时新的默认高亮选择。这个补偿策略对每一个字段高亮依赖于字段类型(index_options)内部精选。强制指定fvh
或plain
类型的高亮还是可用的。postings
高亮从Lucene和Elasticsearch中移除了。当index_options
选项设置为offsets
时,unified
高亮输出一样的highlightingfielddata_fields
,应该用docvalue_fields
代替docvalue_fields
如今默认最多请求100字段,能够经过使用index.max_docvalue_fields_search
索引设定覆盖script_fields
如今默认请求最大限制32个script fields,能够经过使用索引设定index.max_script_fields
设定index.max_inner_result_window
索引设置控制request_cache:true
到一个查询中会建立一个scroll('scroll=1m')如今废弃了,这个请求将不会使用内部缓存在将来版本将会用400代替仅提示忽略。Scroll queries的缓存没有意义index.max_terms_count
来改变默认最大值node: name: my-node attr: rack: my-rack
true
和false
为boolean,其余的会抛出异常,为了向后兼容,在Elasticsearch6.0以前创建的索引仍能工做。注意这不会应用到存储在elasticsearch.yml中的节点级别设定cluster.routing.allocation.snapshot.relocation_enabled
容许分片运行从新分配到其余节点被移除的snapshots。启用此设定,在分片分配到其余节点,而后在快照运行时从新分配到此节点可能会引起问题indices.store.throttle.type
和indices.store.throttle.max_bytes_per_sec
及索引设定index.store.throttle.type
和index.store.throttle.max_bytes_per_sec
将再也不解析index.store.type
被移除了,若是你在使用他,单纯的将他从你的索引设定中移除,Elasticsearch会使用对于你操做系统最好的store
实现network.tcp.blocking_client
,network.tcp.blocking
,transport.tcp.blocking_client
,transport.tcp.blocking_server
和http.tcp.blocking_server
设定将再也不解析,以前未使用的设定transport.netty.max_cumulation_buffer_capacity
,transport.netty.max_composite_buffer_components
和http.netty.max_cumulation_buffer_capacity
被移除了base
类似如今做为调整被忽略,query normalization如今被移除,若是提供了,会忽略设定并给出一个废弃警告script.allowed_types
和script.allowed_contexts
来代替discovery.type
再也不支持gce|aws|ec2
值,这些平台的集成应该经过设置discovery.zen.hosts_provider
为他们的值throttle_time
因为存储阈值被移除了,store stats将再也不报告throttle_timejava.security.AllPermission
。可是,这实际上至关于禁用了安全管理器。所以,在生产模式下如今经过all permission bootstrap check 禁止受权-Djava.io.tmpdir=${ES_TMPDIR}
指定临时目录,在全部的操做系统上这样操做都是安全的