Python Elasticsearch 客户端常用操作指南

认真发呆
认真发呆
发布时间:2026-10-13 | 5人浏览过
原创

本文详细汇总了使用 Python 操作 Elasticsearch 的核心方法。内容涵盖客户端初始化、索引的创建与删除、数据插入(含指定 ID 与自动生成)、文档查询(按 ID 获取与全量搜索)以及基于查询条件的删除操作。通过具体代码示例,帮助开发者快速掌握 ES 在 Python 环境下的基本 CRUD 流程。

本文系统整理了在 Python 中操作 Elasticsearch 的常用方法,通过详细的代码示例展示各项功能,旨在为相关学习与工作提供实用的参考。

初始化连接与库导入

导入必要的库


from elasticsearch import Elasticsearch

建立本地连接


es = Elasticsearch(['127.0.0.1:9200'])

索引管理:创建与删除

创建索引


es.indices.create(index="python_es01",ignore=400)

参数 ignore=400 表示忽略状态码 400(即索引已存在或未找到的情况),避免程序因索引已存在而报错中断。

删除索引


es.indices.delete(index="python_es01")

检查索引是否存在


es.indices.exists(index="python_es01")

文档写入:插入与 ID 处理

插入数据


es.index(index="python_es01",doc_type="doc",id=1,body={"name":"kitty","age":50})

在插入数据时,也可以不指定 id 参数,由系统自动生成唯一标识。


es.index(index="python_es01",doc_type="doc",body={"name":"kitty","age":10})

数据检索:查询与全量搜索

执行查询操作

根据指定 id 查询文档


result = es.get(index="python_es01",doc_type="doc",id=1)

查询操作会返回包含文档内容的响应对象。

执行全量查询


body= {
    "query":{
      "match_all":{}
    }
  }
result = es.search(index="python_es01",body=body)

注意:通过指定 id 获取文档时使用 get 方法,而其他复杂查询则使用 search 方法。

文档删除:单条与批量删除

执行删除操作


result = es.delete(index="goods",doc_type="type1",id=2)

根据查询条件批量删除文档


result = es.delete_by_query(index="goods",body=body)

映射配置:创建 Mapping

创建映射(Mapping)


body = {
  "mappings": {
    "properties": {
      "name": {
        "type": "text"
      },
      "price": {
        "type": "long"
      }
    }
  }
}
result = es.indices.create(index="shang",body=body)

以上内容为 Python 中 Elasticsearch 基本操作的完整总结,希望能为读者的学习与实践提供帮助,欢迎继续支持本站获取更多技术资讯。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表