Python操作ES

news2024/12/23 23:00:37

代码说明:

  1. 连接 Elasticsearch:使用 basic_auth 参数进行认证。
  2. 测试连接:获取集群的健康状态,并格式化输出结果。
  3. 索引文档:将一个文档索引到指定的索引中,并格式化输出结果。
  4. 搜索文档:在指定的索引中搜索文档,并格式化输出结果。

http_auth 参数已经被弃用,应该使用 basic_auth 参数代替

from elasticsearch import Elasticsearch

# 配置 Elasticsearch 连接
# 替换为你的 Elasticsearch 地址、端口、用户名和密码
es = Elasticsearch(
    ['http://xxxx:8816'],
    basic_auth=('admin', 'xxx')
)

# 测试连接
try:
    # 尝试获取集群的健康状态
    health = es.cluster.health()
    print("集群健康状态:")
    print(f"  集群名称: {health.get('cluster_name')}")
    print(f"  状态: {health.get('status')}")
    print(f"  节点数量: {health.get('number_of_nodes')}")
    print(f"  数据节点数量: {health.get('number_of_data_nodes')}")
    print(f"  活跃主分片: {health.get('active_primary_shards')}")
    print(f"  活跃分片: {health.get('active_shards')}")
    print(f"  初始化中分片: {health.get('initializing_shards')}")
    print(f"  未分配分片: {health.get('unassigned_shards')}")
    print(f"  挂起的未分配分片: {health.get('delayed_unassigned_shards')}")
    print(f"  待处理任务数: {health.get('number_of_pending_tasks')}")
    print(f"  活跃分片百分比: {health.get('active_shards_percent_as_number')}%")
except Exception as e:
    print(f"连接或查询失败: {e}")

# 索引一个文档
try:
    response = es.index(index="your_index", id=1, document={"title": "Test Document"})
    print("\n索引文档结果:")
    print(f"  索引: {response.get('_index')}")
    print(f"  文档ID: {response.get('_id')}")
    print(f"  结果: {response.get('result')}")
    print(f"  版本: {response.get('_version')}")
except Exception as e:
    print(f"索引文档失败: {e}")

# 搜索文档
try:
    response = es.search(index="your_index", body={"query": {"match": {"title": "Test"}}})
    print("\n搜索文档结果:")
    print(f"  耗时: {response.get('took')} 毫秒")
    print(f"  超时: {response.get('timed_out')}")
    print(f"  总文档数: {response.get('hits').get('total')['value']}")
    hits = response.get('hits').get('hits', [])
    if hits:
        for hit in hits:
            print(f"  标题: {hit.get('_source').get('title')}")
    else:
        print("  没有找到匹配的文档")
except Exception as e:
    print(f"搜索失败: {e}")

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2076845.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【python计算机视觉编程——2.局部图像描述子】

python计算机视觉编程——2.局部图像描述子 2.局部图像描述子2.1 Harris角点检测器在图像间寻找对应点 2.2 SIFT(尺度不变特征变换)2.2.3 检测兴趣点2.2.4 匹配描述子 2.3 匹配地理标记图像 2.局部图像描述子 2.1 Harris角点检测器 算法步骤 计算图像梯…

JS New Worker() 深度解析

JS New Worker() 深度解析 文章目录 一、New Worker() 是什么及为什么出现二、JS中如何使用 New Worker()1. 创建 Worker 线程2. 向 Worker 发送消息3. 接收 Worker 的消息4. 监听错误和结束事件5. 终止 Worker 三、Worker 包含哪些属性或方法 API1. 属性2. 方法 四、扩展与高级…

customRef 与 ref

ref() 我们已经很熟悉了,就是用来定义响应式数据的,其底层原理还是通过 Object.defineprotpty 中的 get 实现收集依赖( trackRefValue 函数收集),通过 set 实现分发依赖通知更新( triggerRefValue 函数分发 )。我们看看 ref 的源码就知道了 …

适合学生党用的充电宝有哪些?四款百元性价比充电宝推荐

在如今这个电子设备不离手的时代,充电宝成为了学生党们的必备好物。无论是在教室、图书馆学习,还是外出游玩,一款可靠的充电宝能够为手机、平板等设备随时补充电量,让你不再为电量焦虑而烦恼。今天,我们就为学生党们精…

AES对称加密算法

1. 简介 AES是一种对称加密算法, 它有3种类型: AES-128: 密钥为128位(16字节)的AES, 加密10轮AES-192: 密钥为192位(24字节)的AES, 加密12轮AES-256: 密钥为256位(32字节)的AES, 加密14轮 密钥长度越长, 加密的强度越大, 当然与此同时开销也越大。每种类型下都有几种操作模式…

【JavaEE】深入浅出 Spring AOP:概念、实现与原理解析

目录 Spring AOPAOP概述Spring AOP快速⼊⻔引⼊AOP依赖编写AOP程序 Spring AOP 详解Spring AOP核⼼概念切点(Pointcut)连接点(Join Point)通知(Advice)切⾯(Aspect) 通知类型PointCut切⾯优先级 Order切点表达式execution表达式annotation⾃定义注解 MyAspect切⾯类添加⾃定义注…

力扣第71题:简化路径 放弃栈模拟,选择数据流√(C++)

目录 题目 思路 解题过程 复杂度 Code 题目 给你一个字符串 path ,表示指向某一文件或目录的 Unix 风格 绝对路径 (以 / 开头),请你将其转化为更加简洁的规范路径。 在 Unix 风格的文件系统中,一个点&#xff…

K8S持久化存储数据volumeMountsvolumes

环境: Ubuntu-1:192.168.114.110作为主 Ubuntu-2:192.168.114.120作为从1,node节点1 Ubuntu-3:192.168.114.130作为从2,node节点2 持久化volumeMounts pod里面:emptyDir和hostPath。存储在node,NFS...,Clo…

文本处理函数

1.文本的提取 left mid right 2.文本的查找与替换 replace,substitute 3.字符个数 len字符 lenb字节, office365好像没有此功能 4.数据的清理 clean , trim 5.找不同 exact

codetop标签动态规划大全C++讲解(上)!!动态规划刷穿地心!!学吐了家人们o(╥﹏╥)o

主要供自己回顾学习,会持续更新,题源codetop动态规划近半年 1.零钱兑换2.零钱兑换II3.面试题08.11.硬币4.单词拆分5.最长递增子序列6.最长递增子序列的个数7.得到山形数组的最少删除次数8.最长公共子序列9.最长重复子数组10.最长等差数列11.最大子数组和…

智能优化算法-海鸥优化算法(SOA)(附源码)

目录 1.内容介绍 2.部分代码 3.实验结果 4.内容获取 1.内容介绍: 海鸥优化算法 (Seagull Optimization Algorithm, SOA) 是一种基于群体智能的元启发式优化算法,它模拟了海鸥的觅食、飞行和社会交互行为,用于解决复杂的优化问题。 SOA的工…

wxpython Scintilla styledtextctrl滚动条拖到头文本内容还有很多的问题

wxpython Scintilla styledtextctrl滚动条拖到头文本内容还有很多的问题 使用wxpython Scintilla styledtextctrl,滚动条不自动更新 滚动条拖到头文本内容还有很多,如下: 以下是拖到最后的状态: 明显看出下图的滚动条的格子比…

书生.浦江大模型实战训练营——(十一)LMDeploy 量化部署进阶实践

最近在学习书生.浦江大模型实战训练营,所有课程都免费,以关卡的形式学习,也比较有意思,提供免费的算力实战,真的很不错(无广)!欢迎大家一起学习,打开LLM探索大门&#xf…

超声波清洗机哪个品牌好?专业测评师推荐四款高质量眼镜清洗机

近年来,越来越多的用户在使用超声波清洗机清洗小物件,因为超声波清洗机不仅能清洗眼镜,还能清洗各种各样的小饰品、餐具、茶具、剃须刀、金属制品等,有一个智能超声波清洗机在家里,对于生活质感的提升还是挺大的&#…

第一个NIO开发演示

文章目录 Channel简介Buffer简介第一个NIO程序分析 上一篇文章 介绍了传统网络编程在处理高并发和大规模应用时通常面临性能瓶颈和资源管理问题,而 NIO 通过非阻塞 I/O 和选择器机制提供了更高效的解决方案。虽然 NIO 的 API 更复杂,但在高负载和高性能需…

先从路径优化开始学习FastPlanner之B样条曲线平滑路径(一):从拉格朗日插值到B样条曲线

参考B站视频学习 注:我会列出学习他人的博客,但我不涉及具体推导,原理讲解,旨在于理解必须概念后写代码出效果。 给若干点如何获得一条平滑的曲线? 两个方法插值、拟合 插值要经过给定点,拟合不用经过。 经…

Hostease的Windows虚拟主机如何设置错误页面

404错误设置主要用于定义当访问网站上不存在的页面时服务器应该如何响应。通常,404错误表示请求的页面或资源不存在。在Plesk面板中,你可以通过404错误设置来配置服务器对这种情况的处理方式。下面我就介绍如何在Hostease的Windows虚拟主机中设置404错误…

探索数据结构:图(一)之邻接矩阵与邻接表

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:数据结构与算法 贝蒂的主页:Betty’s blog 1. 图的定义 **图(Graph)**是数学和计算机科学中…

Mybatis-plus 创建自定义 FreeMarker 模板详细教程

FreeMarker 自定义模板官方步骤 网址:https://baomidou.com/reference/new-code-generator-configuration/#%E6%A8%A1%E6%9D%BF%E9%85%8D%E7%BD%AE-templateconfig (页面往最下面拉为自定义模板相关内容) 创建自定义FreeMarker 模板及使用…

案例分享—优秀ui设计作品赏析

多浏览国外优秀UI设计作品,深入分析其设计元素、色彩搭配、布局结构和交互方式,以理解其背后的设计理念和趋势。 在理解的基础上,尝试将国外设计风格中的精髓融入自己的设计中,同时结合国内用户的审美和使用习惯,进行创…