Python连接es笔记二之查询方式汇总-全球今热点
>本文首发于公众号:Hunter后端>原文链接:[Python连接es笔记二之查询方式汇总](https: mp weixin qq com
2023-05-30本文首发于公众号:Hunter后端原文链接:Python连接es笔记二之查询方式汇总
上一节除了介绍使用 Python 连接 es,还有最简单的 query() 方法,这一节介绍一下几种其他的查询方式。
以下是本篇笔记目录:
(资料图)
query() 方法介绍Q() 查询排序分页source() 指定返回字段extra() 操作count() 总数from_dict() 函数1、query() 方法介绍在上一节中介绍了 query() 的一个简单示例,如下:
s = Search(using="default").index("exam")s = s.query("match", name="张三丰")
query() 中接受两个参数,第一个是字段查询的方式,比如这里是 match,也可以是 term,这个依照查询的目的来替换。
第二个则是查询的字段与值,比如这里是查询的 name 字段为 "张三丰" 的数据。
如果是有多个条件,比如 name="张三丰",address="中国" 的数据,这里的 = ,并非是完全等于的意思,而是会依照前面的查询方式,比如 match 或 term 进行类似的分词或者模糊搜索。
如果是上面多个条件的查询,可以直接在后面加上类似的 query():
s = s.query("match", name="张三丰").query("match", address="中国")
这两个 query() 通过链式操作连在一起转换成 es 语句就是使用 must 将多条件连接在一起,我们可以使用 to_dict() 方式来查看:
s.to_dict()# {"query": {"bool": {"must": [{"match": {"name": "张三丰"}}, {"match": {"address": "中国"}}]}}}
2、Q() 查询如果看过之前我写过的 Django 系列笔记,应该记得在 Django 里也有个 Q() 方法的查询,和这里的一样,也是用于条件的联合,与或非条件都可以实现。
引入方式如下:
from elasticsearch_dsl import Q
但是如果是在 Django 中使用 es 的连接,也是同样使用 Q() 方法,我们可以使用 as 来区分,这里我们对于 es 的 Q() 方法可以使用 ES_Q() 来区分:
from elasticsearch_dsl import Q as ES_Q
单个条件的使用 Q() 如下:
s = s.query(ES_Q("match", name="张三丰"))
如下使用 dict 形式的操作也是等效的:
s = s.query(ES_Q({"match": {"name": "张三丰"}}))
与操作对于这两个条件,如果想要实现它们的与操作:
q1 = ES_Q("match", name="张三丰")q2 = ES_Q("match", address="中国")
可以如下实现:
s = s.query(q1 & q2)
或操作如果是想实现上面的或操作,可以如下:
s = s.query(q1 | q2)
非操作如果是想取反,直接在条件前加一个 ~
即可:
q1 = ~ES_Q("match", name="张三丰")s = s.query(q1)
multi_match如果是搜索多字段,可以如下操作:
q = ES_Q("multi_match", query="中国 张三丰", fields=["name", "address"])s = s.query(q)
text.keyword 操作对于 es 中 text 字段,前面我们介绍过 .keyword
的查询方式,是将 text 字段作为一个整体进行查询,在 ES_Q() 中,以下两种操作是等效的:
q = ES_Q({"term": {"address.keyword": "中国湖北省"}})q = ES_Q("term", address__keyword="中国湖北省")
filter() 操作在 es 中的 filter 操作,在 Python 中是一个 filter() 函数,可以直接使用:
q = ES_Q("term", name="张三丰")s = s.filter(q)
range 操作实现大小于的操作示例如下:
q = ES_Q({"range": {"age": {"gte": 21}}})s = s.query(q)
exclude() 操作如果是想取反,除了使用 ~Q(),还可以直接使用 exclude() 函数,这个和 Django 里的操作也是一样的:
q = ES_Q("term", name="张三丰")s = s.exclude(q)
3、排序如果是想对返回的结果进行排序操作,直接使用 .sort() 方法。
比如想对 age 字段排序,正序返回数据,可如下操作:
s = s.sort("age")
如果是想倒序返回,可以如下操作:
s = s.sort("-age")
多字段排序直接在后面跟上就行:
s = s.sort("-age", "name")
4、分页Python 连接 es 进行分页,可以直接使用 Python 里的切片操作,比如:
s = s[5:10]
5、source() 指定返回字段我们可以通过 source() 方法指定返回的字段:
s = s.source(["name", "address"])
source() 方法还可以接受 includes 和 excludes 参数来指定返回的字段或者不返回的字段,这个和 es 的原生处理方式是一致的:
s = s.source( includes=["address"], excludes=["name"])
6、extra() 操作extra() 函数接受一些查询的额外属性,比如 size 参数决定返回条数,比如 from 参数可以决定从第几条数据开始返回,sort 参数决定排序方式,以及 _source 参数决定返回的字段。
比如我们想要返回的数据从第 2 条数据开始,返回两条,按照 name 字段进行排序,只返回 name 和 _id 字段,可以如下操作:
s = Search(using="default").index("exam")s = s.extra( sort="name", _source=["name"], **{ "from": 1, "size": 2 })response = s.execute()
7、count() 总数前面介绍过获取符合条件的总数,可以通过 response.hits.total.value 的方式获得,其实对于 Search(),可以直接使用 count() 函数:
count = s.count()
8、from_dict() 函数如果我们想直接运行 kibana 里执行的命令,可以使用 from_dict() 函数,比如:
s = s.from_dict( { "query": { "term": { "name": { "value": "张三丰" } } } })
如果想获取更多后端相关文章,可扫码关注阅读:
标签:
>本文首发于公众号:Hunter后端>原文链接:[Python连接es笔记二之查询方式汇总](https: mp weixin qq com
2023-05-30瑞穗金融集团正在抛售非流动性资产,并缩短所持日本和其他主权债券的平均期限,以便在未来12个月进行资金配
2023-05-30证券时报e公司讯,天地在线(002995)5月29日晚间披露股票交易异动公告称,目前公司虚拟数字业务仍处于发展初
2023-05-30央视网消息:据中国载人航天工程办公室消息,神舟十六号瞄准5月30日9时31分发射。经空间站应用与发展阶段飞
2023-05-29博菲电气:第二届董事会第十七次会议决议公告
2023-05-29乌克兰军方5月28日表示,俄军对基辅实施了大规模无人机袭击,52架攻击型无人机被乌防空部队击毁。据俄罗斯
2023-05-29想必现在有很多小伙伴对于掀起反义词近义词方面的知识都比较想要了解,那么今天小好小编就为大家收集了一些
2023-05-291、首先要确定你在方正证券开的证券账户是不是深圳股东账户与上海股东账户都开了?如果都开了,需要先到证券
2023-05-29近日,第75集团军某合成旅侦察分队依托特定任务背景在山地、丛林等陌生地域开展实战化演练,全面磨砺侦察兵
2023-05-29根据十二生肖的规律推算,2023年是生肖兔的本命年,很多父母都会在这一年里面准备生兔宝宝。按照传统的推算
2023-05-29慈善家被击倒,开门战中,监管者利用镜像击倒古董商并上椅,其余二人配合大副无伤救下,心理学家扛刀,最终
2023-05-295月29日陕西地区硝酸铵价格走势暂稳,场内商谈主流在5000-5100元 吨,场内装置运行稳定,近期上游原料市场
2023-05-29音频解说一、陕西省咸阳市天气预报1、礼泉县气象台2023年05月29日07时03分发布大雾黄色预警信号。2、目前我
2023-05-29ID 4X综合续航561km,体验纯电驾驭新境界!
2023-05-29人脸检测的英文名称是FaceDetection 人脸检测问题最初来源于人脸识别(FaceRecognition)。
2023-05-29抄写作文网小编为大家提供瀚的古诗有哪些带瀚字的古诗(整首)来供大家参考,欢迎阅读。带有“晗”字的诗...
2023-05-29由杨枫执导、监制,夏雨、李立群、谭凯、张国柱领衔主演的电影《极寒之城》全国路演正在火热进行中。5月27
2023-05-29用三个字来形容华为折叠屏手机,那就是“赢麻了”。
2023-05-29智通财经APP获悉,5月29日,香港差饷物业估价署数据显示,4月香港私人住宅楼价指数升至354 2点,环比升0 54
2023-05-29格隆汇5月29日丨温氏股份300498300498SZ近期组织多场路演活动问答环节中就公司如何判断猪价未来走势若今年
2023-05-29最近,惠城横沥镇、水口街道、龙丰街道及大亚湾等地公布征地信息,大亚湾部分村还要整村搬迁,一起来看看具
2023-05-29截至4月末,量化私募中证500指增、沪深300指增和中证1000指增策略今年以来平均超额收益率分别为1 4%、-0 48
2023-05-29海外网5月29日电随着夏季临近,法国的冰淇淋销售在2023年可能再次迎来创纪录的一年。2022年,冰淇淋销售额
2023-05-29在选择驾校的时候,他听说某一家驾校的教练非常优秀,同时口碑也很好,于是这个男子决定选择这家驾校。当男
2023-05-29专家论道,探寻小龙虾产业链高质量发展之路---5月27日,湖北省小龙虾产业链高质量发展大会在监利市召开,本
2023-05-29中国青年报客户端讯(中青报·中青网记者王培莲)从今年开始,吉林大学全面放开转专业限制。日前,中青...
2023-05-291、钱对于我们的生活是重要的,因为我们需要购买各种东西,来维持我们的生活。2、所以钱自然是非常重要的。
2023-05-29北京时间5月29日凌晨1点,西甲第37轮展开一场较量,赫罗纳主场对阵贝蒂斯,本场比赛当值主裁判为德梅拉。上
2023-05-29今天来聊聊关于rideontime直播回放,rideontime的文章,现在就为大家来简单介绍下rideontime直播
2023-05-29今天来聊聊关于五音十二律的金口诀,五音十二律的文章,现在就为大家来简单介绍下五音十二律的金口诀,五音
2023-05-28直播吧5月28日讯 近日《心灵杀手2》在索尼发布会上展示了最新的玩法和剧情片段,同时也表现了非常清晰的视
2023-05-28截至5月28日17时30分,灯塔数据显示,迪士尼公主系列IP改编的真人电影《小美人鱼》在中国上映3天,首个周末
2023-05-28指股网财经网提供民国八年银元价格(2022年12月29日),中华民国八年造银元最新消息(2022年12月29日)。
2023-05-28约基奇:从首轮开始穆雷就充满能量他就是我们的最佳球员,美国篮球,关键时刻,安迪·穆雷,丹佛掘金队,网球...
2023-05-281、可以,一般都可以做的;只是有些设计成本高;很多人不愿出那么多钱,所以理论上可以。2、实际也做不成;
2023-05-28图说:一辆清运卡车车斗拉扯架空线采访对象供图新民晚报讯(记者陈浩)5月26日晚上,青浦区凤星路上发生惊
2023-05-281、曝光就是指拍照时,相机快门打开后,光线通过镜头进入到机身里,对感光元件(CCD)进行感光,直到快门关
2023-05-28高举五星红旗之后,李东宪说要做这件事……---近日,来自中国台湾的跆拳道选手李东宪,在韩国参加2023年...
2023-05-28欢迎观看本篇文章,小升来为大家解答以上问题。久坐腰疼怎么缓解,有什么方法可以解决很多人还不知道,现在
2023-05-28索日达·扎巴罗娃原本是乌兹别克斯坦一名牙科医生,在家乡撒马尔罕州开了一家诊所。2015年,在撒马尔罕...
2023-05-281、您好LZ,这款游戏除了买里面的东西以外是不需要花钱的,这游戏也就类似以前的超级舞者劲舞团劲乐团一样
2023-05-28电商报快讯:5月28日消息,据淘宝直播公众号,淘宝天猫618直播预售首日,李佳琦Austin、香菇来了、蜜蜂惊喜
2023-05-28社保卡是大家享有就业、社保等权益的凭证,是政府民生服务的重要载体。看病买药、领取待遇、乘公交、逛公园
2023-05-28大皖新闻讯 “因为上级检查说校园装饰缺少本土元素,我姐姐和同事们去河里捡鹅卵石,遇到上游水电站突...
2023-05-28今天来聊聊关于五子棋八卦阵怎么赢,五子棋技巧八卦阵的文章,现在就为大家来简单介绍下五子棋八卦阵怎么赢
2023-05-281、扁担长,板凳宽,板凳没有扁担长,扁担没有板凳宽,扁担要扁担绑在板凳上,板凳不让扁担绑在板凳上。2、
2023-05-28来为大家解答以下的问题,arkjoobin在线,parkjoobin这个很多人还不知道,现在让我们一起来看看吧
2023-05-28从公司接待的角度来说,不少企业都愿意选择空间较大的豪华行政级轿车作为接待车,一方面能提升企业的形象,
2023-05-281、《思想政治教育》是2014年中央编译出版社出版的图书。2、。本文到此分享完毕,希望对大家有所帮助。
2023-05-282023年5月27日22:32 来源:中新网重庆
2023-05-27陈梦的对手陈幸同也是国乒主力金花,陈幸同虽然没有拿到过世界三大赛的女单冠军,但是她总是能在各种大赛中
2023-05-271、周老板没杀小多,杀的是小红的外套,也就是十七。第69集《新世界》,十七终于承认是他杀了小迪,另外四
2023-05-27yousoku品牌目前的办公地在辽宁大连,在互联网上开设了官方旗舰店yousoku旗舰店和YOUSOKU旗舰店,让广大网
2023-05-271、动车一等座和二等座的区别动车一等座四个人一排为2+2方式,二等座五个人一排为3+2方式,因而一等座的过
2023-05-271、一、创造轻松愉快的环境,发展幼儿的口语表达能力。2、 要发展幼儿口语表达能力,必须设法为幼儿创造
2023-05-27邮储银行首家POSTCOFFEE特色网点落地,持续让美好发生,邮储银行首家POSTCOFFEE特色网点落地,持续让美好发生
2023-05-27主推前端不收费的C类份额基金证成为销售平台的一致性举动,意在以较为低廉的费用吸引年轻客户。弱市下基金
2023-05-27中新网贵阳5月27日电(刘美伶)“‘5G+工业互联网’融合应用将为企业高端化、智能化、绿色化发展提供新模
2023-05-27想必现在有很多小伙伴对于LOLS赛季扎克符文天赋加点攻略附图方面的知识都比较想要了解,那么今天小好小编就
2023-05-27早在30多年前,世界著名科学家、中国两弹一星功勋奖章获得者钱学森就预言过虚拟现实技术。1990年,钱学森就
2023-05-27中新社江西安远5月26日电题:哈萨克斯坦姑娘的赣南之旅:品美味赏美景作者姜涛陈晨吴思瑜烫粉、切肉、调料
2023-05-27该船总长364米,型宽64米,型深33米,排水量46万余吨,是目前世界上最大尺度的浮式生产储卸油船,可适用于
2023-05-27本赛季西乙联赛竞争可谓异常激烈,截至41轮过后,目前积分榜上前四名球队分差仅有3分,都还保留着晋级下赛
2023-05-27央视网消息:在5月26日举行的国家税务总局发布会上,有关负责人介绍,从税收大数据角度看,全国统一大市场
2023-05-271、貂婵沉鱼-西施、落雁-昭君、闭月-貂婵、羞花-杨玉环春秋战国时期,越国有一个叫西施的,是个浣纱的女子
2023-05-272023年养老金上涨3 8%,山东养老金如何调整,算算你能涨多少?3000元的人算下来居然能涨540多块钱?咋回事
2023-05-27音频解说一、吉林省长春市天气预报1、榆树市气象台2023年05月27日04时32分继续发布雷电黄色预警信号。2、预
2023-05-27截至2023年5月26日收盘,博雅生物(300294)报收于36 94元,上涨0 65%,换手率0 81%,成交量3 42万手,成交额1 27亿元。
2023-05-27来为大家解答以下的问题,以用手柄玩的电脑游戏平台,可以用手柄玩的电脑游戏这个很多人还不知道,现在让我
2023-05-27狄耐克5月26日公告,持股6 63%的股东、董事及高级管理人员庄伟计划通过集中竞价交易和大宗交易方式合计减持
2023-05-27交易商品牌 产地交货地最新报价氯丙烯 含量99%艾特(山东)新材料有限公司国产山东省 济南市6550元 吨氯丙
2023-05-27格隆汇5月26日丨苏博特(603916 SH)公布,经董事会全体董事讨论,一致同意聘任缪昌文为公司荣誉董事长。
2023-05-27中新网二连浩特5月26日电 题:双胞胎孕妇及时入境就医 中蒙边境上演跨国生命大救援作者 李爱平 郭鹏
2023-05-27高精度加法 例1例如:1111111111111+9,列成`竖式`,```text1111111111111+9```先算个位,`1`+`9`=`10`,满`10
2023-05-26随着城市的发展,在这个流水线慢慢磨掉匠心的时代里,有这样一群被时光遗忘了的手艺人,他们历经岁月却依然
2023-05-26据阿根廷记者BrunoGonzálezGarcía的消息,加纳乔确认参加阿根廷队的亚洲行。今年6月份,阿根廷队会前往亚
2023-05-26智己汽车最新推出了“智己LS7电池分期专属金融方案”,通过“车体和电池分别购买,分开享受不同的分期融...
2023-05-26中国网财经5月24日讯(记者顾凡)今日,国家统计局官网发布的一则“统计严重失信企业信息公示”显示,贵州...
2023-05-26为进一步巩固脱贫攻坚成果,助力乡村振兴,岳西县财政局结合财政衔接资金管理要求,努力做到效益最大化。强
2023-05-26随着《斗罗大陆》剧场版“双神战双神”开播之日越来越近,官方也不藏着掖着了,直接放出了剧场版的终极...
2023-05-26保护水源和老百姓的健康是我们每个人都应该切实关注的重要话题。在这个问题上,罚款是一种切实有效的措施。
2023-05-26明天是中国平安的35周岁“生日”。5月26日,人民日报发表《中国平安:三十五载勇担职责使命》的文章,回...
2023-05-26截至2023年5月25日收盘中文传媒600373报收于1484元下跌192换手率186成交量2517万手成交额376亿元5月25日的
2023-05-261、孟德尔定律的实质是遗传学的两个基本定律:分离定律和自由组合定律。2、自由组合定律是现代生物遗传学三
2023-05-26上线8个月后,Temu对卖家的吸引力将彻底消失。
2023-05-26村民用积分兑换奖品记者 方柳卜“这个月我收获很大,参与环保卫生志愿服务活动,4月累计积分有200多分...
2023-05-26外交部发言人:“五眼联盟”联手发布虚假信息报告很讽刺,
2023-05-26《天空之城》是一部由宫崎骏执导的动漫电影,于1986年上映,此次修复版《天空之城》将于6月1日重映。影片讲
2023-05-26中国基金报江右有人创新打破传统收费模式,不赚钱不收管理费!近日,一只银行理财权益类公募产品(类公募基
2023-05-26为丰富幼儿园课程资源,进一步促进家园共育,近日,四川天府新区元音幼儿园中一班邀请到国际航空机长—...
2023-05-26【关键词】城市公共阅读空间【事件】利用腾退空间、交通枢纽、商业楼宇、公园绿地等场地,建设新型公共文化
2023-05-26专项行动提出一系列目标,包括到2025年新增贯彻实施先进质量管理体系标准的中小企业10000家以上,新增参与
2023-05-265月25日,青海春天(600381)融资买入249 73万元,融资偿还246 01万元,融资净买入3 72万元,融资余额6841 4万元。
2023-05-26金融界基金05月26日讯广发中证香港创新药ETF(QDII)基金05月25日下跌2 38%,现价0 861元,成交44039 95万元
2023-05-26相信目前很多小伙伴对于DNF帝国竞技场奖励介绍,兑换需要多久时间?都比较感兴趣,那么小搜今天在网上也是
2023-05-26来为大家解答以下的问题,菁是什么蔬菜,芜菁怎么读这个很多人还不知道,现在让我们一起来看看吧!1、芜菁高
2023-05-26音频解说一、云南省保山市天气预报1、龙陵县气象台2023年5月25日16时13分继续发布雷电黄色预警信号。2、预
2023-05-26本文内容是由小编为大家搜集关于ppmoney官网,以及的资料,整理后发布的内容,让我们赶快一起来看一下吧!PP
2023-05-26近期有很多网友询问我,想十五万以内买一台运动轿跑,有哪些车型很不错呢?对于十五万以内这个价格来说,的
2023-05-261、比较一下正确答案:心理是人脑的机能。2、是人脑对客观现实的反映。本文到此分享完毕,希望对大家有所帮
2023-05-26Copyright © 2015-2022 起点水产网版权所有 备案号:皖ICP备2022009963号-12 联系邮箱: 39 60 29 14 2@qq.com