当前位置: 首页 > 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.lryc.cn/news/605394.html

相关文章:

  • VSCode高效集成开发全流程优化
  • colima 修改镜像源为国内源
  • docker:将cas、tomcat、字体统一打包成docker容器
  • QT---》文件MD5码的获取与验证
  • 结合C++红黑树与AI人工智能的应用
  • Linux启动防火墙提示提示 Active: failed (Result: timeout)
  • 7.pcl滤波(一)
  • IFCVF驱动+vhost-vfio提高虚拟机网络性能
  • 在线免疫浸润分析
  • Kimi-K2技术报告解读:万亿参数大模型,开源模型新SOTA
  • 如何判断一个数据库是不是出问题了?
  • STM32F1 Flash的操作
  • Python Day19 时间模块 和 json模块 及例题分析
  • C语言15-构造数据类型、位运算符、内存管理
  • 2018 年 NOI 最后一题题解
  • yolo8+阿里千问图片理解(华为简易版小艺看世界)
  • CSS 工作原理
  • 卡尔曼滤波通俗入门:预测、测量与最优融合
  • 重生之我在暑假学习微服务第五天《Docker部署项目篇》
  • 【人工智能99问】混合专家模型(MoE)是如何训练的?(18/99)
  • lesson28:Python单例模式全解析:从基础实现到企业级最佳实践
  • QT笔记--》QMenu
  • Java String类练习
  • 编程算法:从理论基石到产业变革的核心驱动力
  • 数字化转型-制造业未来蓝图:“超自动化”工厂
  • HTTPS基本工作过程:基本加密过程
  • List 接口
  • 基于动态权重-二维云模型的川藏铁路桥梁施工风险评估MATLAB代码
  • 人形机器人_双足行走动力学:基于OpenSim平台的股骨模型与建模
  • Python并发与性能革命:自由线程、JIT编译器的深度解析与未来展望