You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python elasticsearch模块es.indices.create无弃用警告的正确调用方式

解决方案

你遇到的是7.15+版本Python Elasticsearch客户端的API规范调整问题,按以下方式修改调用代码即可完全消除两个弃用警告,且兼容6.2.4版本的服务端:

方案1:直接按新API规范传参

你当前的configs字典内容全部属于索引配置(settings)范畴,直接作为settings关键字参数传入即可:

es.indices.create(
    index=es_index_name,
    settings=configs
)

方案2:不改动原有configs结构的通用写法

如果你的配置里同时包含settings、mappings等多部分内容,也可以直接将原body字典通过关键字解包的方式传入,无需拆分结构:

es.indices.create(
    index=es_index_name,
    **configs
)
原理说明

7.x版本的Python Elasticsearch客户端为了明确API参数、减少传参错误,做了两处调整:

  • 废弃了统一的body参数,要求将原body内的settings、mappings、aliases等顶级字段,直接作为API的顶层关键字参数传递
  • 禁止使用位置参数传参,所有参数必须显式指定参数名
    以上两种写法都符合新的API规范,同时客户端会自动适配6.2.4版本服务端的请求格式,不会出现兼容性问题。

内容的提问来源于stack exchange,提问作者John R Ramsden

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 03:57:02