索引接口变化
当运行索引映射的时候禁止关闭或删除索引操作。
在5.0之前的版本,当索引正在进行映射操作的时候,关闭索引或者删除索引会导致映射失败。在5.0中,如果索引正在进行映射操作,则禁止请求关闭索引或者删除索引操作。但这种行为对部分映射行为和以前的方式没有变化。
由于基于磁盘的规则和默认的文档值发生了几处变化,导致warmers已经没有作用了,因此warmer和warmer API接口被删除。
当更新到5.0时候,系统会直接忽略掉定义在索引中的warmers。
在节点统计和精简节点接口中的OS统计中添加了CPU的利用率。在返回节点统计的接口对象中增加了一个新的对象。这个对象包括cpu的利用率和 load_average列。在之前的os对象中和cpu对象中移除了load_average列。现在load_average会分别输出1分钟,5分钟和15分钟的cpu利用率,如果返回值中没有任何数据,表示这个节点不可用。
精简(cat)节点接口返回的cpu列被移除,取而代之的是load_1m, load_5m, load_15m表示1分钟,五分钟和十五分钟的利用率。如果返回值中没有任何数据,表示这个节点不可用。
org.elasticsearch.monitor.os.OsStats这个类做了修改,移除了getLoadAverage方法。现在在OsStats中增加了内部类Cpu,通过Cpu的getLoadAverage方法获取数据,返回的值不是一个double类型,而是一个对象类型,这个对象包括了一分钟,五分钟和十五分钟你的利用率,Cpu方法增加了getPercent方法来返回当前的利用率。
索引统计中的建议统计被移到搜索统计中。作为搜索统计中的一部分。
为了减少多索引操作的困惑,在创建索引的时候不能以+或者-开头。之前建的索引还可以正常使用。
索引别名将不在支持索引路由(index_routing),同时也不支持搜索路由(search_routing)。因为这两个接口并没有完全测试,同时我们希望直接对索引进行这些操作。
在5.0创建文档接口中用op_type=create参数将不在支持具体id。
当调用_flush接口等待的时候wait_if_ongoing标志始终返回true,因为在同一时刻有可能有别操作对同一个分片进行刷新。如果返回false的时候,其他操作对同一个分片刷新则会导致正在进行刷新操作被终止而不会返回任何错误。
本文由赛克 蓝德(secisland)原创,转载请标明作者和出处。
文档接口变化
对文档的?refresh操作将不在支持truthy和falsy值。
在创建文档接口中返回值中取消了created参数,现在返回的内容是:当创建文档的时候返回"operation": "create",当修改文档的时候返回"operation": "index"。当用bluk操作的时候返回true。
在删除接口的返回值中取消了found参数,取而代之的是"operation": "deleted"。当返回值为"operation": "noop"的时候表示没有找到文档。当用bluk操作的时候返回true。
在5.0之前的版本_reindex和_update_by_query only接口在bulk失败的时候仅仅返回retried的值。例如,返回值:
{ ... "retries": 10 ... }
现在当搜索失败的时候也会返回retries值。
{ ... "retries": { "bulk": 10, "search": 1 } ... }
getAPI接口中当最后一次刷新后,如果文档进行了修改,而这个时候下一次刷新还没有执行,这个时候get接口就会产生问题。如果相同的文档频繁的更新将会产生冲突,这种情况下,可以使用realtime=false参数进行请求。
mget API接口中字段fields被重新命名为stored_fields。
Update和bulk接口中的fields被取消,需要使用 _source来加载字段。
本文由赛克 蓝德(secisland)原创,转载请标明作者和出处。