New

The executive guide to generative AI

Read more

迁移到 8.15

编辑

本节讨论在将应用程序迁移到 Elasticsearch 8.15 时需要注意的更改。

另请参阅 8.17 中的新功能发行说明

8.15.0 中即将推出。

重大变更

编辑

Elasticsearch 8.15 中的以下更改可能会影响您的应用程序并阻止其正常运行。在升级到 8.15 之前,请查看这些更改并采取所述步骤来减轻影响。

集群和节点设置更改

编辑
skip_unavailable 远程集群设置的默认值更改为 true

详情
skip_unavailable 设置的默认值现在设置为 true。所有现有和未来未定义此设置的远程集群都将使用新的默认值。此设置仅影响使用 _search 或 _async_search API 的跨集群搜索。

影响
跨集群搜索中不可用的远程集群将不再导致搜索失败,除非在 elasticsearch.yml 中或通过 _cluster/settings API 将 skip_unavailable 配置为 falseskip_unavailable=true (显式或使用新的默认值) 的不可用集群在搜索响应元数据部分中标记为 SKIPPED,并且不会导致整个搜索失败。如果用户希望确保在特定远程集群不可用时搜索返回失败,则现在必须显式设置 skip_unavailable

汇总更改

编辑
禁止在没有汇总用法的集群中创建新的汇总作业

详情
当在没有汇总用法的集群中创建汇总作业时,put rollup API 将失败并显示错误

影响
没有汇总用法(没有汇总作业或索引)的集群不能创建新的汇总作业

REST API 更改

编辑
?timeout=-1 解释为无限 ack 超时

详情
目前,Elasticsearch 在许多 API 中接受参数 ?timeout=-1,但将其解释为与 ?timeout=0 相同。从 8.15 开始,?timeout=-1 将表示无限期等待,使此参数的行为与其他类似参数(如 ?master_timeout)保持一致。

影响
使用 ?timeout=0 强制相关操作立即超时,而不是使用 ?timeout=-1

在 GET inference API 中将 model_id 替换为 inference_id

详情
从 8.15 开始,获取推理 API 响应将返回一个 inference_id 字段,而不是 model_id

影响
如果您的应用程序在 GET inference API 响应中使用 model_id,请将其切换为使用 inference_id

弃用

编辑

以下功能已在 Elasticsearch 8.15 中弃用,并将在未来版本中删除。虽然这不会对您的应用程序产生直接影响,但我们强烈建议您在升级到 8.15 后采取所述步骤来更新您的代码。

要了解您是否正在使用任何已弃用的功能,请启用弃用日志记录

集群和节点设置弃用

编辑
弃用 indices.breaker.total.limit 设置的绝对大小值

详情
以前,indices.breaker.total.limit 的值可以指定为字节为单位的绝对大小。此设置控制服务器在采取补救措施之前允许使用的总内存量。当节点最大堆大小更改时,将其设置为特定字节数会导致奇怪的行为,因为断路器限制将保持不变。这将导致该值过低,导致部分堆未被使用;或者它会使该值过高,导致断路器无法有效防止 OOM 错误。此设置唯一合理的行为是它随堆大小缩放,因此现在已弃用绝对字节限制。

影响
用户必须更改其配置,为 indices.breaker.total.limit 指定百分比而不是绝对字节数,或者接受默认值,该值已指定为百分比。

REST API 弃用

编辑
弃用 text_expansionweighted_tokens 查询

详情
text_expansionweighted_tokens 查询已替换为 sparse_vector

影响
请更新您现有的 text_expansionweighted_tokens 查询以使用 sparse_vector.

弃用使用 slm 权限访问 ilm

详情
read_slm 权限可以获取 ILM 状态,而 manage_slm 权限可以启动和停止 ILM。应该使用 read_ilmmanage_ilm 权限授予对这些 API 的访问权限。在未来的主要版本中,将从 SLM 权限中删除对 ILM API 的访问权限,现在已弃用。

影响
需要访问 ILM 状态 API 的用户现在应该使用 read_ilm 权限。需要启动和停止 ILM 的用户应该使用 manage_ilm 权限。