聊一聊Elasticsearch和MySQL的常用操作
前言
ElasticSearch,开源的搜索和数据分析引擎,也是名列前茅的 nosql。
很多时候会想拿它和关系型数据库做对比,严格上它们是没有太多可比性的。
不过把有的东西放在一起比较,会帮助我们快速去理解一些 ElasticSearch 的内容。
老黄这边抽空梳理了一些常用的 sql 语句 “对应” ElasticSearch 的操作,主要是针对 CURD 的。
示例用的是 mysql 和 ElasticSearch 7.12.0 。
表操作
为了简单起见,弄一个简单的订单表 order-2021
来演示。
删除表
创建表
NOTE:
mysql 的索引需要一个一个的加,ES 这边不需要。
mysql 有自增 Id, ES 这边也会有自动生成 Id 的操作,同样的,两边也可以自定义 Id。
keyword 和 text 按需调整。
改表名
NOTE: ES 的是起一个别名,然后两个名字都可以用。
插入数据
单条插入
批量插入
NOTE:
ES 的批量操作需要注意,每一行最后要有换行符
\n
结尾Content-Type 指定为 application/x-ndjson
更新数据
根据ID更新
根据查询条件更新
NOTE: ES 的条件更新分为两部分,一个是 query ,也就是 where 部分, 一个是 script ,也就是 set 部分。
删除数据
根据Id删除
根据查询条件删除
查询数据
查询全部
条件查询
NOTE:
ES 的条件查询是有非常多的, 这里只列举了部分。
ES 的查询,在默认情况下会有打分的操作,是会损耗性能的,而常规的 sql 查询时不需要这些,所以用 bool + filter 来忽略。
查询指定字段
NOTE: 查询的时候,如果只要几个字段,那么可以通过
_source
来指定。
查询数量
NOTE: 根据指定条件获取数量,建议用
_count
来查询,_search
查询的结果里面的条数不一定准确。
浅分页
NOTE: 浅分页,页码不宜过深,适合滚动加载的场景,深度分页可以考虑 SearchAfter
Group By
NOTE: group by 属于聚合操作的一种,要用 aggs ,聚合,不用原数据,所以 size 设为 0。
Avg/Min/Max/Sum
写在最后
Elasticsearch 这一块常用的 CURD 操作,和常用的关系型数据库对照一遍,其实很容易上手。
要用到一些 Elasticsearch 特有的功能时,去查询官方文档也基本可以搞定。
聊一聊Elasticsearch和MySQL的常用操作相关推荐
- php mysql 权重_PHP对MySql的常用操作
关于PHP对MySql的常用操作 最近做网站,用PHP操作数据库也很多次了,但总是忘记,参考了网上的很多资料,算是整理记录下. 数据库操作类 实现数据库的连接,断开,以及请求: /** * Creat ...
- MySQL数据库常用操作(20221211)
记录:360 场景:MySQL数据库常用操作,启动.重启.停止MySQL服务:创建用户.数据库.表.主键.索引.注释等.配置远程可连接.配置环境变量.常用系统表操作.常用命令行操作.表的增删改查等操作 ...
- Windows下 MySQL命令 常用操作
2019独角兽企业重金招聘Python工程师标准>>> Windows平台下MySQL常用操作与命令 (一)客户端连接MySQL数据库服务器 命令格式:mysql -h 数据库服务器 ...
- ubuntu下安装mysql及常用操作
1.可通过ps -ef | grep mysql命令查看系统中是否有安装mysql 如果出现类似上述的页面,就证明是已经安装过了mysql,否则就是没有. 2.安装mysql 很简单,只需要键入如下命 ...
- Linux下MySql数据库常用操作
1.显示数据库 show databases; 2.选择数据库 use 数据库名; 3.显示数据库中的表 show tables; 4.显示数据表的结构 describe 表名; 5.显示表中记录 S ...
- Mysql数据库常用操作整理
0.说明 MySQL数据库是一个十分轻便的数据库管理系统,相比大型的数据库管理系统如Oracle,MySQL更拥有轻便.灵活.开发速度快的特色,更适用于中小型数据的存储与架构,被数以万计的网站采用.从 ...
- php面向对象封装mysql_php mysqli面向对象封装mysql数据库常用操作
首先封装好mysql类 mysql.php class Mysql{ private static $host="localhost"; private static $user= ...
- linux关于mysql_Linux关于MySQL的常用操作
注意:MySQL中每个命令后都要以分号:结尾. 1.显示数据库 mysql> show databases; +----------+ | Database | +----------+ | m ...
- mysql数据库常用操作
目前最流行的数据库: oracle.mysql.sqlserver.db2.sqline --:单行注释 #:也是单行注释 /* 注释内容*/:多行注释 mysql -uroot -p密码:登录mys ...
最新文章
- mysql-4.0.20 use on scounix 5.0.7 error :dynamic linker:..:could not open libgthreads.so help!!!!
- 2016 Multi-University Training Contest 10 [HDU 5861] Road (线段树:区间覆盖+单点最大小)...
- UML实践详细经典教程
- 切换ubuntu启动方式 命令行/图形界面
- 我们为什么会爱上一个人?
- 北林oj-算法设计与分析-Don‘t touch my cake(题意+代码)
- 2017.9.14 星际竞速 失败总结
- 关于安装AccessDatabaseEngine_x64.exe 的说明
- Linux glibc 库的修复方案扯出更严重的新漏洞
- m2e (maven eclipse) 在运行一些命令时出现了无法compile(Unable to locate the Javac Compiler in:)...
- Arduino 超声波避障循迹小车,四轮智能小车
- 如何取消计算机中的0-9,告诉你如何关闭win10易升程序
- iOS Zip文件解压
- laravel-excel 3 导出(多图片导出)
- 2021年网站dns解析错误有什么办法解决呢?
- 读文献——《Deep Residual Learning for Image Recognition》
- 30多种免费的高级WordPress主题,适用于令人惊叹的照片,教育和房地产网站
- VS2010如何添加MSCOMM控件
- Linux内部字段分离符环境变量IFS
- 交互设计师必备的9种能力