有时候使用es查询出的结果包含多个字段,如果数据中仅仅包含几个字段时,我们是很容易挑出自己需要的字段值,但是如果数据中包含几十或者几百甚至更多时,尤其是数据中嵌套好多层时,不容易直接挑取出需要的值,这时候可以借助程序直接查找出来。或者针对性的直接查询时就限定条件查询某些字段的值。

直接从es中查询出的示例数据:

{"took": 918,"timed_out": false,"_shards": {"total": 1,"successful": 1,"skipped": 0,"failed": 0},"hits": {"total": {"value": 4,"relation": "eq"},"max_score": 1.0,"hits": [{"_index": "test","_type": "user","_id": "QHi1UoIBpyNh4YQ4T1Sq","_score": 1.0,"_source": {"id": 1001,"name": "张三","age": 20,"sex": "男","grade": {"Chinese": 99,"Math": 98,"English": 96}}},{"_index": "test","_type": "user","_id": "1002","_score": 1.0,"_source": {"id": 1002,"name": "李四","age": 23,"sex": "女","grade": {"Chinese": 98,"Math": 99,"English": 97}}},{"_index": "test","_type": "user","_id": "1003","_score": 1.0,"_source": {"id": 1003,"name": "王五","age": 27,"sex": "男","grade": {"Chinese": 93,"Math": 90,"English": 99}}},{"_index": "test","_type": "user","_id": "1004","_score": 1.0,"_source": {"id": 1004,"name": "赵六","age": 29,"sex": "女","grade": {"Chinese": 100,"Math": 95,"English": 94}}}]}
}

使用python打印出需要的字段值:

import json
import jmespathwith open('text.txt', 'r', encoding='utf-8') as f:data = f.read()json_data = json.loads(data)
# print(json_data)
sources = json_data.get('hits').get('hits')
# print(sources)
for source in sources:# print(source)data = source.get('_source')print(data)valid_fields = '{name: name, Chinese_grade: grade.Chinese}'ret = jmespath.search(valid_fields, data)print(ret)

运行结果:

注意:使用json.load()时,会把文本中的fase、true直接变为False、True

参考博文:

python中jmespath库用法详解_IT之一小佬的博客-CSDN博客_jmespath python

es查询响应结果中获取某些字段的值相关推荐

  1. GridView控件RowDataBound事件中获取列字段值的几种途径

    前台: <asp:TemplateField HeaderText="充值总额|账号余额"><ItemTemplate><asp:Label ID=& ...

  2. mysql 查询指定字段数据_MySQL使用select语句查询指定表中指定列(字段)的数据

    本文介绍mysql数据库中执行select查询语句,查询指定列的数据,即指定字段的数据. 再来回顾一下sql语句中的select语句的语法: select 语句的基本语法: select from w ...

  3. 查询一个表中所有id字段在另一个表中对应值的SQL语句怎么写?

    编辑器加载中... 查询一个表中所有id字段在另一个表中对应值的SQL语句怎么写?多表联结查询:select rbd.RBDID, rbd.ProductCode,p.ProductCnName,p. ...

  4. java 获取继承字段_java – 从类中获取所有字段(甚至是私有的和继承的)

    我在做大学项目. 我需要从类中获取所有字段.甚至私人和继承.我试图获取所有声明字段,然后投射到超类并重复. 我的代码片段: private void listAllFields(Object obj) ...

  5. mysql select 指定列_MySQL使用select语句查询指定表中指定列(字段)的数据

    本文介绍mysql数据库中执行select查询语句,查询指定列的数据,即指定字段的数据. 再来回顾一下sql语句中的select语句的语法: select 语句的基本语法: select from w ...

  6. Entity Framwork(EF) 7——在Controller内获取指定字段的值

    Entity Framwork(EF) 7--在Controller内获取指定字段的值 一.开发背景: 在用户登录的时候,验证用户和密码是否正确.验证通过后将用户名和用户ID保存下来以便后续数据更新时 ...

  7. 自动装配——@Autowired 构造器,参数,方法,属性都是从容器中获取参数组件的值||自定义组件想要使用Spring容器底层的一些组件 ApplicationContext,BeanFactory

    @Autowired:构造器,参数,方法,属性:都是从容器中获取参数组件的值 * 1).[标注在方法位置]:@Bean+方法参数:参数从容器中获取;默认不写@Autowired效果是一样的:都能自动装 ...

  8. asp.net mvc 如何在View中获取Url参数的值

    如果url是 /home/index?id=3 直接Request就ok. 但是如果路由设定为:{controller}/{action}/{id} url是 /home/index/3    这时想 ...

  9. map中获取数组_如何从php多维数组中获取特定的键值?

    点击蓝字关注我们!每天获取最新的编程小知识! 源 / php中文网      源 / www.php.cn 在这篇文章中,我们将给大家介绍如何在php中从多维数组中获取特定的键值数组.这里我们将使用a ...

  10. 【236期】ElasticSearch 进阶:一文全览各种 ES 查询在 Java 中的实现

    点击上方"Java精选",选择"设为星标" 别问别人为什么,多问自己凭什么! 下方有惊喜,留言必回,有问必答! 每天 08:15 更新文章,每天进步一点点... ...

最新文章

  1. 计算机应用问题,计算机应用中存在的问题及解决
  2. SQL 存储过程 解析XML
  3. OutOfMemoryError dump memory
  4. 文件系统模拟程序python_如何使用sh实现Python虚拟文件系统
  5. python中list的意思_list在python中是什么意思
  6. Vue全家桶 之 Vue基础
  7. 一天搞懂深度学习—学习笔记3(RNN)
  8. 鸟哥的Linux私房菜基础学习篇(第四版)
  9. 关于深恶痛绝的file类的delete问题
  10. 某银行无线网络频繁掉线重认证分析、解决方案及抓包经验分享
  11. 罕见整套ZBrush笔刷合集,看完马上收藏了
  12. matplotlib中cmap_Matplotlib:imshow中cmap的功能是什么?
  13. Python读文件与写文件
  14. 前端性能优化 - chrome performance看浏览器渲染过程
  15. 盘点2022初级Java笔试题,选择题,简答题(右滑查看答案)
  16. 水果店可能会遇到哪些风险,开水果店的风险是什么
  17. Python爬虫(一)—— 中国大学排名
  18. GDAL中的地理坐标系、投影坐标系及其相互转换
  19. 【计算机组成原理】Cache缓存:高速缓冲存储器
  20. linux指纹登录实现原理,指纹识别技术原理与基于Linux系统的指纹识别门禁系统设计...

热门文章

  1. 时序预测 | MATLAB实现基于QPSO-GRU、PSO-GRU、GRU时间序列预测
  2. 大数据面试题以及答案整理(一)
  3. VS2019不能使用快捷键
  4. STM32初始化USART后发送了一个0x00?why???
  5. 2021/06/20的1+X大数据Java的答案
  6. mysql数据库集群的故障恢复
  7. Linux C/C++ fping命令(检查主机是否存在)
  8. js二维数组转一维数组方法
  9. solrj for solr5.3.1(solrj最新版本API)
  10. 单链表的基本操作C++