news 2026/7/2 0:14:44

Python Elasticsearch 客户端使用详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python Elasticsearch 客户端使用详解

Elasticsearch 是一个广泛使用的分布式搜索和分析引擎,而elasticsearch是其官方提供的 Python 客户端库。通过该库,开发者可以方便地与 Elasticsearch 集群进行交互,完成从集群状态监控到复杂查询的各类操作。本文将系统性地介绍如何使用 Python 操作 Elasticsearch,内容涵盖集群管理索引控制以及文档的增删改查高级查询功能。

一、安装与连接

首先,通过 pip 安装官方客户端:

pipinstallelasticsearch==8.14.0

在代码中初始化客户端:

fromelasticsearchimportElasticsearch,NotFoundError es=Elasticsearch('http://localhost:9200',basic_auth=("elastic","123456"),retry_on_timeout=True,max_retries=3)

二、集群操作

获取集群健康状态

集群健康状态反映当前数据分片的分配情况,是运维监控的重要指标:

health=es.cluster.health()print("集群状态:",health['status'])print("节点数量:",health['number_of_nodes'])print("未分配分片数:",health['unassigned_shards'])
集群状态: green 节点数量: 1 未分配分片数: 0

获取集群基本信息

info=es.info()print("Elasticsearch 版本:",info['version']['number'])print("集群名称:",info['cluster_name'])
Elasticsearch 版本: 8.14.0 集群名称: docker-cluster

三、索引操作

索引(Index)是 Elasticsearch 中存储文档的逻辑容器,类似于关系型数据库中的“表”。

判断索引是否存在

exists=es.indices.exists(index='my_index')print("索引存在?",exists)
索引存在? False

创建索引

创建索引时可指定分片数、副本数及字段映射(mapping):

mapping={"settings":{"number_of_shards":1,"number_of_replicas":0},"mappings":{"properties":{"title":{"type":"text"},"category":{"type":"keyword"},"price":{"type":"float"},"created_at":{"type":"date"}}}}es.indices.create(index='my_index',body=mapping)

删除索引

es.indices.delete(index='my_index')

四、文档操作

文档(Document)是 Elasticsearch 中的基本数据单元,以 JSON 格式存储。

创建文档

doc={"title":"Python 与 Elasticsearch","category":"dev",<
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/29 2:53:52

计算机毕业设计springboot租房数据可视化系统 基于SpringBoot的房屋租赁信息智能分析与展示平台 Java Web驱动的城市租房数据挖掘与可视化管理系统

计算机毕业设计springboot租房数据可视化系统283pjx56 &#xff08;配套有源码 程序 mysql数据库 论文&#xff09; 本套源码可以在文本联xi,先看具体系统功能演示视频领取&#xff0c;可分享源码参考。 随着城市化进程的加速和人口流动性的增加&#xff0c;租房市场在全球经济…

作者头像 李华
网站建设 2026/7/1 8:12:46

如何用AR虚拟形象打造开发者IP?2026元宇宙营销

当测试工程师遇见虚拟分身 2026年元宇宙营销已从技术噱头进阶为品牌生态工具&#xff0c;AR虚拟形象凭借高沉浸感与强互动性&#xff0c;成为开发者IP塑造的新引擎。对软件测试从业者而言&#xff0c;虚拟IP不仅是技术能力的可视化载体&#xff0c;更是连接行业、传递专业价值…

作者头像 李华
网站建设 2026/7/1 8:20:57

ue 不同版本兼容性测试总结

目录 自动绑定变白的问题分析&#xff1a; 常见不兼容点 1️⃣ 骨骼 / ControlRig 版本变化 2️⃣ 材质系统变化 自动绑定变白的问题分析&#xff1a; 有个 Metahuman_Character 下载后进行自动绑定&#xff0c;出现皮肤变白的现象&#xff0c;换成正确版本就好了。 常见不…

作者头像 李华
网站建设 2026/6/29 22:48:58

中小品牌必备!2026年高性价比软文推广平台TOP5

对于预算有限的中小品牌&#xff0c;软文推广是实现品牌曝光与产品营销的性价比之选。然而&#xff0c;市场上发稿平台众多、质量参差&#xff0c;如何选择可靠、高效且能最大化预算价值的合作伙伴&#xff0c;成为市场决策者的关键挑战。真正的“高性价比”应是资源精准度、执…

作者头像 李华
网站建设 2026/7/1 8:12:46

模运算

lc3345 直接 n) % n 会越界&#xff0c;要 % n n) % n]; // 保证结果在 [0,n-1] 中 class Solution { public: vector<int> constructTransformedArray(vector<int>& nums) { int n nums.size(); vector<int> result(n); …

作者头像 李华