es 笔记二之基础查询
本文首发于公众号:Hunter后端原文链接:es笔记二之基础查询
这一篇笔记介绍 es 的基础查询。
基础查询包括很多,比如排序,类似数据库 limit 的操作,like 操作,与或非等,对于这些操作,我会在介绍他们的用法之后加上对应的数据库 sql 便于理解。
(资料图片仅供参考)
注意:下面的操作都在 kibana 中实现
以下是本篇文章目录:
全量查询返回数据排序限制返回条数指定字段搜索多条件查询大小于过滤1、全量查询如果是想要查看 es 中都有哪些 index,可以如下操作:
GET /_cat/indices
然后可以看到在右侧会输出所有的 index,其中就包含我们上一篇笔记导入的 bank 数据,接下来我们使用 bank 作为查询示例。
如果我们想查看 bank 中的全部数据,可以如下操作,但是不指定 size 参数的话默认最多只返回 10 条数据:
GET /bank/_search
出来的结果大致如下:
{ "took" : 2, "timed_out" : false, "_shards" : { "total" : 1, "successful" : 1, "skipped" : 0, "failed" : 0 }, "hits" : { "total" : { "value" : 1000, "relation" : "eq" }, "max_score" : 1.0, "hits" : [ { "_index" : "bank", "_type" : "_doc", "_id" : "1", "_score" : 1.0, "_source" : { "account_number" : 1, "balance" : 39225, "firstname" : "Amber", "lastname" : "Duke", "age" : 32, "gender" : "M", "address" : "880 Holmes Lane", "employer" : "Pyrami", "email" : "amberduke@pyrami.com", "city" : "Brogan", "state" : "IL" } }, ... ] }}
took 表示查询花费了多少时间,以毫秒为单位
time_out 表示查询是否超时
_shards 表示分片的查询信息,表示有多少个分片被查询,失败,和跳过
然后查询的结果都被放在 hits 字段下,在 hits 信息中,
hits.total 表示查询到了多少匹配的数据
hits.hits 是一个数组,包含了返回信息的全部内容,每个元素都是单个查询的返回结果。
在每个元素中,_index,_type,_id,_score 表示单条数据的所属的数据库信息
_source 其中包含了获取信息的字段信息,如果没有指定字段,则返回该数据所有字段。
2、返回数据排序查询出的数据如果想要以某种顺序返回,可以使用 sort 来排序
比如说根据 balance 倒序排序
GET /bank/_search{ "sort": [ {"balance": {"order": "desc"}} ]}
这条数据对应于 sql 中的语法就是:
order by balance desc
sort 后接一个数组,表示可以根据多个字段进行正序,逆序的排序方式。
3、限制返回条数在前面的搜索中可以看出,如果不限定返回条数,系统会默认返回 10 条数据,在 es 中有类似于 MySQL 的 limit 和 offset 的操作,那就是 size 和 from。
from 表示从第 n 个开始获取数据,从 0 开始取值
size 表示获取数据量的大小。
比如说从第0条数据开始,获取5条数据,可以如下操作:
GET /bank/_search{ "sort": [ {"balance": {"order": "asc"}} ], "from": 0, "size": 5}
对应于 sql 语法是:
limit 5 offset 0;
4、指定字段搜索关于字段搜索,有几个关键字,match,match_phrase等。
match 表示模糊搜索,会将搜索的内容先进行分词操作,然后搜索,比如我们搜索 bank 这个 index 中 address 字段中包含 "cove" 或者 包含 "lane" 的的数据,我们可以如下操作:
GET /bank/_search{ "query": { "match": {"address": "Cove Lane"} }}
这条语句类似于 sql 中的:
where address like "%cove%" or address like "%lane%"
只要 address 的字符包含 cove 或者 lane 之一即可。
而如果我们想要实现 cove lane
作为一个整体进行查询,我们可以使用 match_phrase 来实现:
GET /bank/_search{ "query": { "match_phrase": {"address": "Cove Lane"} }}
这个操作类似于 sql 中的:
where address like "%mill lane%"
上面这些 match 操作都是大小写不敏感的。
关于 match 和 match_phrase 的筛选方式这里只做一个示例,在后面我会单开一篇笔记详细介绍其用法,针对 text 类型和 keyword 类型的字段。
5、多条件查询多条件,就是与或非连接操作,类似于 sql 中的 and、or、not,对应在 es 中就是 must,should,must_not
在 es 中,每个连接操作都是一个数组,用于连接多个条件操作,示例如下:
GET /bank/_search{ "query": { "bool": { "should": [ {"match": {"age": 24}}, {"match": {"age": 25}} ], "must_not": [ {"match": {"gender": "M"}} ] } }}
可以看到,与或非的操作我们是在 query 的 bool 这个 key 的下一级,这个查询对应的 sql 的查询是:
where (age = 24 or age = 25) and gender != "M";
6、大小于过滤在 es 中,大小于的过滤操作是复杂一点的,也在 bool 这个 key 下一级,用到 filter 和 range 关键字
大小于的关键字和 Django 里的是一样的用到 gt, gte, lt, lte 这几个
比如我们要搜索 age 的范围在 21 到 23 之间的包括 21 和 23 的数据
GET /bank/_search{ "query": { "bool":{ "filter": { "range": { "age": { "gte": 21, "lte": 22 } } } } }}
上面的操作可以和与或非的操作进行并列,如果是直接搜索大小于的操作,可以直接如下操作:
GET /bank/_search{ "query": { "range": { "age": { "gte": 10, "lte": 20 } } }}
如果想获取更多后端相关文章,可扫码关注阅读:
标签:
推荐文章
- es 笔记二之基础查询
- 听我的,买车前想好这个问题,少生气,别不信!
- 房子施工知识:装修扫盲之软装搭配技巧|天天热讯
- 【世界快播报】5月19日尚能石化石脑油价格上调
- 友邦保险(01299.HK)5月19日斥资1.32亿港元回购167.14万股-世界观速讯
- solidworks动画教程下载_solidworks动画教程 短讯
- 全球短讯!被讨厌的勇气与《被讨厌的勇气》
- 世界热文:放“价”啦!5·19中国旅游日,黄鹤楼半价优惠邀你来
- 世界简讯:担心泄密!苹果限制员工使用ChatGPT 内部已开启自研
- 智能行情能否再造当年“519”?
- 【环球新视野】善于沟通的孩子,运气都不会太差
- 大型越野车suv排行榜_SUV与越野车的区别-当前热门
- 索尼CEO称将继续满负荷生产PS5 多方合力增加用户量
- 13中3!掘金二当家被打面部后梦游 追分戛然而止
- 新华社权威快报丨“中国旅游日”活动推出7大类旅游惠民措施 今日观点
- 当前播报:天津市津南区成立首个社区矫正公益活动基地
- 腾讯坐看“云”起时
- 周公解梦官网梦见铁盒子_周公解梦官网梦见偷钱
- 世界新动态:建设银行暂停非柜面交易多久解除
- 描写花草的成语_什么是成语-热门看点
- 郑东新区领导到郑东新区建设开发投资总公司座谈调研-环球精选
- 天天观焦点:老年奶粉有营养吗 老年奶粉可以补钙吗
- 中储股份:5月18日融资买入2789.62万元,融资融券余额4.98亿元 环球百事通
- 热推荐:罗斯百货(ROST.US)Q1业绩超预期 但警告长期通胀压力或产生负面影响
- 余秋雨散文集摘抄赏析250字 余秋雨散文集摘抄-焦点热讯
- 全球头条:廉颇是战国时期哪国人_廉颇的简介
- 感冒鼻塞吃什么药好用(感冒鼻塞吃什么药好)_世界最资讯
- 天天快讯:新疆尉犁县民众播种忙 逾160万亩罗布麻扮靓塔克拉玛干沙漠
- 黑白禁区演员表角色介绍_黑白禁区演员表
- 加快义务教育优质均衡发展 全国约1.59亿学生免除杂费并获得免费教科书_环球新视野
- 麦趣尔: 股东大会会议决议公告 世界看点
- 导致比赛开球时间延误,足协:对黑龙江冰城足球俱乐部队罚款4万元
- 世界即时看!后市的原油供需结构如何演变?
- 海尔思拟向银行申请不超过1000万流动资金贷款 贷款期限为1年 看热讯
- 天天日报丨[安心治疗]北京男科医院选嘉佩乐热度排行榜:北京前列腺炎症状
- 消释消蚀消失消逝这四个词的意思_消释消蚀消失消逝分别解释|天天微头条
- 当前通讯!龙井市人民法院司法警察大队开展消防安全大检查工作
- 好评中国丨创作网络评论要“手中有策、心中有数” 焦点热文
- 国家医保局:进一步落实异地就医结算 继续扩大覆盖范围 全球热文
- 面面相觑的读音_面面相觑的意思
- 太惨了,湖北恩施桥5人活活淹死,目击者爆料细节,令人头皮发麻_天天播资讯
- 2023年全国盲人柔道锦标赛在京落幕
- 当前快看:OPPO高管晒出Reno10系列人像样张,潜望长焦加持成像出彩
- “80后”青年的奋斗梦想:用专业金融知识服务乡村振兴 速递
- 湘潭一大桥4人跳桥?官方辟谣:河里捞起一具遗体,但与跳桥无关|世界今亮点
- 2023年5月18日鸡蛋价格继续下跌
- 焦点热门:5月18日马钢建筑钢材价格调整信息:螺纹上调20元
- 苹果与百事可乐合作,免费领三个月 Apple Music 会员_环球新消息
- 天天观热点:5月18日 10:27分 茶花股份(603615)股价快速拉升
- 与史郎中钦听黄鹤楼上吹笛翻译_与史郎中钦听黄鹤楼上吹笛阅读答案 今日观点
- 兵马俑发掘还要持续700年?文物局:有些人对考古工作不太了解
- 成家一定要有自己的住房吗?近七成受访青年认为必须有-每日热讯
- 金银河定增股票申请获深交所审核通过
- 维生素c泡腾片的危害_维生素c泡腾片的作用及功能及副作用
最新资讯
- 陈明昊:我从不喜欢审视自己的过去|每日时讯
- 瑶山起舞:瑶族盘王节与耍歌堂_关于瑶山起舞:瑶族盘王节与耍歌堂介绍-当前消息
- 德约科维奇被鲁内淘汰,止步罗马赛八强_当前最新
- 快报:5月17日基金净值:天弘多元收益债券A最新净值1.1284,涨0.36%
- 即时:2023年4月甘肃省自学考试成绩查询入口官网
- 轩锋—黄金下破2000关口继续空,原油区间不变!
- 新农人全资子公司新绿地本次分配利润3000万公司可取得现金分红3000万
- 【时快讯】万达普惠贷款逾期4年还不上后果会怎样?
- 推荐一款轻量级全栈式开源测试平台!
- 当前关注:黄晓明英文歌闹太套_黄晓明闹太套是哪首歌
- 什么是塑性内力重分布?考虑_什么是塑性内力重分布
- 花呗逾期关闭自动扣款还会扣零钱吗?利息太多能减免吗? 每日快报
- 漂流需要准备什么图片_漂流需要准备什么
- OPPO Reno10 系列5月24日发布,全新工艺四款新配色
- 久远银海:基于人工智能平台已研发相关行业NIP应用产品
- 1000元!生第一个娃就发钱 温州明确生育补贴标准|全球滚动
- 全球新消息丨小荷才露尖尖角 阴转多云 美好的事情正在发生
- 新疆哪些出口产品更受欢迎?1—4月外贸进出口数据来了_世界观天下
- 全球最新:四川金顶(600678)5月17日主力资金净卖出39.53万元
- 奥海科技董秘回复:公司有出货AR/VR电源产品,在相关领域有一定技术积累
- 【当前热闻】韩国朴宝剑女朋友_朴宝剑女朋友
- 同等学力硕士学位考试采用人脸识别方式入场_环球即时看
- 【港股异动】京东健康(06618.HK)跌3.14%
- 全球今热点:劳务分包给个人工伤怎么处理
- 焦点日报:银河证券:已充分调整+基本面扎实的高景气板块是配置主要方向丨有看投+
- 徐一钉股市最新文章_徐一钉最新股评
- 环球今亮点!小快递服务大民生
- 虎门大桥为什么会抖动_虎门大桥抖动的原因
- 焦点精选!榜单里的佛山丨包揽冠亚军,五区入围全国百强区,制造业重镇转型显成效
- 新型抗生素在医院获得性肺炎试验中取得成功-环球微速讯
- 全球速看:广西全州县:文旅农融合发展 绘就乡村振兴新画卷
- 物理实验室的管理_物理试验室管理制度 环球精选
- 笑果上海脱口秀取消,3年内李诞等6人被罚!新华社、人民日报发声
- 世界热头条丨马龙谈多名主帅被解雇:如果你想找份安稳40年工作 不会是NBA主帅
- 全球热议:南京熊猫(600775):5月16日北向资金减持17.3万股
- 环球热消息:重回五大联赛?伊卡尔迪梅开二度,联赛21场17球7助
- 全球头条:三岁儿童挖掘机动画片大全(儿童挖掘机动画片大全)
- 石一坚澳门风云_石一坚 世界热消息
- 世界速递!职场中,不懂这五个潜规则,很难有出人头地的机会
- 大语言模型中的涌现现象是不是伪科学?_头条焦点
- 藕可以放置几天 莲藕放几天就坏了呢
- 民警这堂课的内容很新鲜,教孩子们认识有“毒”植物
- 全球最资讯丨康迪克水杯盖拆卸_康迪克水杯盖拆卸教程今日更新
- 电脑还原快捷键_电脑还原 全球新消息
- 苹果计划将嘿Siri命令简化为Siri|天天热消息
- [路演]中熔电气:激励熔断器目前在市场上已取得了较好的进展
- 逾期信用记录多久可以恢复?逾期多久恢复个人征信
- 中位数和平均数的区别是什么_中位数和平均数的区别|新资讯
- 高顿教育:acca考试费用最新介绍,考生速进!_全球通讯
- 西安市长安区实验小学开展“防灾减灾”应急疏散演练