Python Elasticsearch 客户端常用操作指南

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

本文详细汇总了使用 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 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。