当前位置: 首页 > news >正文

Elasticsearch(ES)基础语法(笔记)(持续更新)

记住添加的时候记得带上唯一标识的字段,例如:数据库非业务主键字段id,uuid等,添加的字段不能凭空捏造,必须能在其他相应文档列表中的"_source"下能找到,否则依据该字段查询会找不到

一、查(重点)

1.查询全部

select * from user_info
GET /user_portrait/_search
{"query":{"match_all": {}}
}
GET /user_portrait/_search

2.匹配查询(重点)

单个

//分词查询 如果单单输入'xiao',或者'ling'可能导致查询失败,查不到。
GET /user_portrait/_search
{"query":{"match": {"uuid": "xiaoling"}}
}

多个(例如要查两个用户)

//分词查询 如果单单输入'xiao',或者'ling'可能导致查询失败,查不到。
GET /user_portrait/_search
{"query":{"match": {"uuid": "xiaoling","uuid": "lisi"}}
}

3.精确查询

select * from user_info where uuid= 'xiaoling'
GET /user_portrait/_search
{"query":{"term": {"uuid": "xiaoling"}}
}

3.范围查询(gt/lt:大于/小于 gte/lte:大于等于/小于等于)(一般查询多条出来)

select  * from user_info where pass >= 123456
GET user_portrait/_search
{"query": {"range": {"pass": {"gte": 123456}}}
}

4. bool 多条件复合查询

a.查询pass=123456并且uuid=‘xiaoling’

记得bool在最外面包裹着,否则must打不出,must就是=。多个等于条件在同一个must里面[  ]写就行.想写多少都行,满足查询条件即可

select * from user_info where pass=123456 and uuid = 'xiaoling' 
GET user_portrait/_search
{"query": {"bool": {"must": [{"match": {"uuid": "xiaoling"}},{"match": {"lwsas": "100"}}]}}
}

b.查询pass>=123456并且uuid!=‘zs’的,那么除zs外pass大于等于123456的都被查询出来

select * from user_info where pass >= 123456  and name != 'zs' 
GET user_portrait/_search
{"query": {"bool": {"must": [{"range": {"pass": {"gte": 123456}}}],"must_not": [{"match": {"uuid": "zs"}}]}}
}

should表示至少满足一个条件

5.匹配某字段是否为空

某字段为空的列表

user_portrait索引中,查找所有不包含uuid字段的文档列表

GET user_portrait/_search
{"query": {"bool":{"must_not": [{"exists": {"field": "uuid"}}]}}
}

某字段不为空的列表

user_portrait索引中,查找所有包含uuid字段的文档列表

GET user_portrait/_search
{"query": {"bool":{"must": [{"exists": {"field": "uuid"}}]}}
}

6.in查询(比如:查询uuid为zhangsan,lisi,zhaoliu的用户列表(因为uuid唯一性查询出来只有三条,那么一般情况下是列表数据记录或者文档存在多条))

select * from user_info where age in('zhangsan', 'lisi', 'zhaoliu')
GET user_portrait/_search
{"query": {"terms": {"uuid": ["zhangsan","lisi","zhaoliu"]}}
}

http://www.dtcms.com/a/306481.html

相关文章:

  • MySQL索引和事务笔记
  • 如何通过项目管理系统提升交付率
  • Kafka 重复消费与 API 幂等消费解决方案
  • IO复用实现并发服务器
  • 【PZ7020-StarLite 入门级开发板】——FPGA 开发的理想起点,入门与工业场景的双重优选
  • 【工具】jsDelivr CDN完全指南:免费高速的开源项目CDN服务
  • Apache Ignite 与 Spring Boot 集成
  • Linux 进程管理与计划任务设置
  • 【Dv3admin】ORM数据库无法查询的问题
  • 如何修改VM虚拟机中的ip
  • opengauss数据库安装及测试
  • 【C语言】深度剖析指针(二):指针与数组,字符,函数的深度关联
  • SpringBoot中ResponseEntity的使用详解
  • .NET报表控件ActiveReports发布v19.0——正式兼容 .NET 9
  • 动态爱心视觉特效合集(含 WebGL 与粒子动画)
  • 传输层协议UDP与TCP
  • 微算法科技MLGO突破性的监督量子分类器:纠缠辅助训练算法为量子机器学习开辟新天地
  • G9打卡——ACGAN
  • ​​咖啡艺术的数字觉醒:Deepoc具身智能如何重塑咖啡机器人的“风味直觉”
  • Android基础(二)了解Android项目
  • Android补全计划 TextView设置文字不同字体和颜色
  • SAP-ABAP:SAP ABAP OpenSQL JOIN 操作权威指南高效关联多表数据
  • android-PMS-开机流程
  • 配置国内镜像源加速Python包安装
  • 第2章 cmd命令基础:常用基础命令(3)
  • xxljob-快速上手
  • 真 万人互动MMO游戏技术公開測試
  • 推扫式和凝视型高光谱相机分别采用哪些分光方式?
  • AutoSAR(MCAL) --- ADC
  • Helm在Kubernetes中的应用部署指南与案例解析