elasticsearch.Elasticsearch.indices.create()文档位置及同名方法关系疑问
关于Elasticsearch Python客户端中
indices.create方法的疑问解答 嘿,这个问题问得很细致!咱们一步步来拆解:
首先,你给出的创建索引代码是完全可行的,我把它整理成规范的代码块:
from elasticsearch import Elasticsearch es = Elasticsearch() es.indices.create(index = "new_index")
核心问题解答:
es.indices.create和elasticsearch.client.IndicesClient.create是同一个方法吗?
答案是肯定的!这俩本质上是同一个方法的不同调用方式。为什么文档里标注的是后者而非前者?
这是因为IndicesClient是Elasticsearch Python客户端中专门处理索引相关操作的子客户端类,create方法实际定义在这个类里。而当你初始化Elasticsearch主客户端实例(也就是代码里的es)时,客户端会自动帮你创建一个IndicesClient的实例,并挂载到es.indices属性上,方便你直接调用。简单来说,
es.indices就是IndicesClient的一个实例,你通过es.indices.create()调用的,其实就是IndicesClient.create()方法。文档标注的是方法的原生定义路径,而es.indices.create是官方提供的便捷调用方式,目的是让代码更简洁易读。
内容的提问来源于stack exchange,提问作者Sahand
相关产品推荐
相关产品推荐

