文档API改变

?refresh 不再支持truthy和falsy值

?refresh 请求参数用于接受除false之外的任何值,0,off和no意味着“使来自此请求的更改立即可用于搜索”。现在它只接受?refresh 和 ?refresh=true 意味着。您可以将其设置为

?refresh=false,并且请求将不执行与刷新相关的操作。如果你把 refresh 关闭的url完全相同。如果添加 refresh=wait_for Elasticsearch将等待更改在回应请求之前变为可见,但不会执行任何即时刷新相关操作。参见 [?refresh](https://www.elastic.co/guide/en/elasticsearch/reference/5.0/docs-refresh.html)

created字段在Index API中已弃用

created字段已在Index API中弃用。它现在返回操作,在创建文档时返回 "operation": "create",在更新文档时返回 "operation": "index"。这也适用于index批量操作。

found字段在Delete API中已弃用

found字段已在Delete API中弃用。它现在返回操作,返回“操作”:“删除”时删除一个文档和“操作”:“noop”,当没有找到文档。这也适用于索引批量操作。

重新索引和按查询更新

在5.0.0之前_reindex和_update_by_query仅重试批量失败,因此他们使用以下响应格式:

{
   ...
   "retries": 10
   ...
}

重试计数批量重试的次数。现在他们也在搜索失败时重试,并使用此响应格式:

{
   ...
   "retries": {
     "bulk": 10,
     "search": 1
   }
   ...
}

其中批量计数、批量重试的次数,搜索计数为搜索重试的次数。

获取API

从5.0.0开始,如果请求的文档自上次刷新以来已更改,但更改尚未刷新,则get API将发出刷新。这也将使所有其他更改立即可见。如果使用读取修改更新模式非常频繁地更新同一文档,这可能会对性能产生影响,因为它可能会创建许多小段。可以通过将 realtime=false 传递给get请求来禁用此行为。

fields字段已重命名为stored_fields

mget API

fields字段已重命名为stored_fields

更新API

fields字段已被弃用。您应该使用_source从_source加载字段。

批量API

fields字段已被弃用。您应该使用_source从_source加载字段。