牛逼,利用 Python 连接 ES 查询索引某个字段命中数的脚本!
版权声明
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
杰哥的IT之旅
扫码关注公众号
扫码阅读
手机扫码阅读
文章主旨:本文在上一篇基础上优化了Python连接Elasticsearch查询指定指令ID命中数的代码,主要改进了输出格式并按指令ID顺序显示结果。
关键要点:
- 使用
elasticsearch库连接ES并执行查询。 - 定义指令ID列表
commandidlist(1024、2048、3072)和日期变量。 - 创建ES连接(指定主机、认证、超时)并定义索引(使用日期拼接)。
- 循环遍历指令ID,构造term查询体,执行
es.search,打印指令ID及命中总数。 - 优化点:输出格式更友好,且按指令ID顺序输出(未改变查询逻辑,仅修正顺序)。
内容结构:
一、背景:接上一篇《太强了!利用 Python 连接 ES 查询索引某个字段命中数的脚本!》,本文针对输出格式不友好和未按指令ID顺序输出的问题进行了优化,代码思路不变。
二、代码实现:
- 导入Elasticsearch库。
- 定义指令ID列表
commandidlist(1024, 2048, 3072)及日期字符串riqi1(20231218)。 - 创建ES连接(
http://localhost:29204/,认证elastic/elastic,超时30s)。 - 定义索引
idc_payloadresult_20231218。 - 循环:对每个指令ID构造查询JSON(bool+term),设置from/size/sort,执行
es.search,打印commandid + ":" + str(result["hits"]["total"])。
三、说明:原作者注明代码可直接使用,并推荐其他原创脚本文章(已在摘要中移除广告内容)。
文章总结:本文提供了一段简洁实用的Python脚本,用于按指令ID顺序输出Elasticsearch索引中的命中数,适合需要批量统计ES字段匹配次数的场景。
杰哥的IT之旅
杰哥的IT之旅
扫码关注公众号