ES语法(与MYSQL对比)


1、创建库
mysql:create database 库名
ES: 请求方式:PUT 请求地址:http://127.0.0.1:9200/库名 请求参数:无

2、查看所以库
mysql:show databases
ES: 请求方式:GET 请求地址:http://127.0.0.1:9200/_cat/indices 请求参数:无

3、选择库(查看单个索引)
mysql:use 库名
ES: 请求方式:GET 请求地址:http://127.0.0.1:9200/库名 请求参数:无

4、删除库
mysql:drop database 库名
ES: 请求方式:DELETE 请求地址:http://127.0.0.1:9200/库名 请求参数:无

5、创建表并且添加数据
mysql: INSERT INTO `表名`(`id`,`title`, `category`, `price`) VALUES (1,'小米手机', '小米', 3999.00);
ES: 请求方式:POST 请求地址:http://127.0.0.1:9200/库名/_doc/1 请求参数:{"title":"小米手机","category":"小米","price":3999.00}

6、查看表所有数据
mysql: select * from 表名
ES: 请求方式:GET 请求地址:http://127.0.0.1:9200/库名/_search 请求参数:无

7、查看表指定数据
mysql: select * from 表名 where id = 1
ES: 请求方式:GET 请求地址:http://127.0.0.1:9200/库名/_doc/1 请求参数:无

8、删除表指定数据
mysql: delete from 表名 where id = 1
ES: 请求方式:DELETE 请求地址:http://127.0.0.1:9200/库名/_doc/1 请求参数:无

9、批量修改数据
mysql: UPDATE `表名` SET `title`="小米手机",`category`="小米",`price`=4000.00 WHERE id = 1
ES: 请求方式:POST 请求地址:http://127.0.0.1:9200/库名/_doc/1 请求参数:{"title":"小米手机","category":"小米","price":4000.00}

10、局部修改数据
mysql: UPDATE `表名` SET `title`="小米手机",`category`="小米" WHERE id = 1
ES: 请求方式:POST 请求地址:http://127.0.0.1:9200/库名/_update/1 请求参数:{"title":"小米手机","category":"小米"}

11、文档单条件查询数据
mysql: select * from 表名 where category = "小米"
ES: 请求方式:GET 请求地址:http://127.0.0.1:9200/库名/_search 请求参数:{"query":{"match":{"category":"小米"}}}

12、文档查询所有数据
mysql: select * from 表名
ES: 请求方式:GET 请求地址:http://127.0.0.1:9200/库名/_search 请求参数:{"query":{"match_all":{}}}

13、文档查询所有数据,展示指定字段
mysql: select 字段 from 表名
ES: 请求方式:GET 请求地址:http://127.0.0.1:9200/库名/_search 请求参数:{"query":{"match_all":{}},"_source":["字段"]}

14、文档查询所有数据,分页展示
mysql: select * from 表名 limt 0,2
ES: 请求方式:GET 请求地址:http://127.0.0.1:9200/库名/_search 请求参数:{"query":{"match_all":{}},"from":0,"size":2}

15、文档查询所有数据,排序展示
mysql: select * from 表名 order by price desc
ES: 请求方式:GET 请求地址:http://127.0.0.1:9200/库名/_search 请求参数:{"query":{"match_all":{}},"sort":{"price":"desc"}}

16、文档AND条件查询数据
mysql: select * from 表名 where category = "小米" and price = 3999.00
ES: 请求方式:GET 请求地址:http://127.0.0.1:9200/库名/_search 请求参数:{"query":{"bool":{"must":[{"match":{"category":"小米"}},{"match":{"price":3999.00}}]}}}

17、文档包含条件查询数据
mysql: select * from 表名 where category in ("小米","苹果")
ES: 请求方式:GET 请求地址:http://127.0.0.1:9200/库名/_search 请求参数:{"query":{"bool":{"should":[{"match":{"category":"小米"}},{"match":{"category":"苹果"}}]}}}

18、文档>(gt)、<(lt)、>=(gte)、<=(lte)条件查询数据
mysql: select * from 表名 where price >= 1000
ES: 请求方式:GET 请求地址:http://127.0.0.1:9200/库名/_search 请求参数:{"query":{"bool":{"filter":{"range":{"price":{"gte":1000}}}}}}

19、文档!=(must_not)、==(must)条件查询数据
mysql: select * from 表名 where price != 1000 and title = "苹果手机"
ES: 请求方式:GET 请求地址:http://127.0.0.1:9200/库名/_search 请求参数:{"query": {"bool": {"must_not": [{"match": {"category": "小米"}}],"must": [{"match": {"title": "苹果手机"}}]}}}

20、文档范围条件查询数据
mysql: select * from 表名 where price BETWEEN 1000 and 5000
ES: 请求方式:GET 请求地址:http://127.0.0.1:9200/库名/_search 请求参数:{"query": {"bool": {"filter": {"range": {"price": {"gte": 1000,"lte": 5000}}}}}}

21、文档不包含(must_not terms)、包含(terms)条件查询数据(没有效果)
mysql: select * from 表名 where category not in ("小米","苹果")
ES: 请求方式:GET 请求地址:http://127.0.0.1:9200/库名/_search 请求参数:{"query": {"bool": {"must_not": {"terms": {"category": ["小米","苹果"]}}}}}

22、文档全文索引
mysql: select * from 表名 where category like "小%,%小%,小%,苹%,%苹%,苹%,小苹%,%小苹%,小苹%" 
ES: 请求方式:GET 请求地址:http://127.0.0.1:9200/库名/_search 请求参数:{"query": {"match": {"category": "小苹"}}}

23、文档完全匹配
mysql: select * from 表名 where category like "%果%" 
ES: 请求方式:GET 请求地址:http://127.0.0.1:9200/库名/_search 请求参数:{"query": {"match_phrase": {"category": "果"}}}

24、文档高亮查询
mysql: 无 
ES: 请求方式:GET 请求地址:http://127.0.0.1:9200/库名/_search 请求参数:{"query":{"match_phrase":{"category" : "果"}},"highlight":{"fields":{"category":{}}}}

25、文档分组查询
mysql: select * from 表名 group by category
ES: 请求方式:GET 请求地址:http://127.0.0.1:9200/库名/_search 请求参数:{"aggs":{"price_group":{"terms":{"field":"price"}}}}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值