(06)es增加、修改、删除、查询等基本操作

插入数据:指定id

http://localhost:9200/people2/_doc/1 put

{

"name": "张三",

"age": 20,

"date": "2019-10-29"

}

 

插入数据:使用es默认创建的id

http://localhost:9200/people2/_doc/ post

{

"name": "李四",

"age": 29,

"date": "2019-10-31"

}

 

修改数据:根据id修改 (还可以根据脚本修改)

http://localhost:9200/people2/_doc/1/_update post

{

"doc": {"name": "小二"}

}

 

 

删除数据:根据id删除

http://localhost:9200/people2/_doc/1 delete

删除数据:根据条件(名称)删除

http://localhost:9200/people/_doc/_delete_by_query post

{

"query":{

"match_phrase":{

"name":"李四"

}

}

}

 

删除索引(谨慎删除): head插件删除

 

删除索引(谨慎删除):请求接口删除

http://localhost:9200/people delete

 

查询语法

简单查询:

http://localhost:9200/people2/_doc/1 get 根据id查询

 

http://localhost:9200/people2/_doc/_search get 查询所有

{

"query": {

"match_all":{}

}

}

或者直接调用接口

 

复杂查询:

http://localhost:9200/people2/_doc/_search post 查询一条数据

{

"query": {

"match":{}

},

"from":1,

"size":1

}

模糊查询+分页查询两个数据从第0开始,排序规则倒叙

http://localhost:9200/people2/_doc/_search post

{

"query": {

"match":{"name":"三"}

},

"from":0,

"size":2,

"sort": [{"id":{"order":"desc"}}]

 

}

 

聚合查询:

http://localhost:9200/people2/_doc/_search post 根据年龄统计总数

{

"aggs": {

"group_by_age": {

"terms": {

"field":"age"

}

}

}

}

 

高级查询

子条件查询:特定字段查询所指特定值

 

query context

全文本查询:针对文本类型数据;(模糊匹配,精确匹配,多个字段查询)

1.模糊查询:查询名称包含三的 (如果查询 es入门 会把所有相关es和入门两个词相关的都查出来)

{

"query": {

"match":{

"name":"es入门"

}

},

"from":0,

"size":2

}

2模糊查询:.喜雨匹配(查询es入门 只会把es入门作为一个关键词去查询)

 

{

"query": {

"match_phrase":{

"name":"es入门"

}

}

}

3.多字段查询:查询title author 都包含瓦利

{

"query": {

"multi_match":{

"query":"瓦利",

"fields":["author","title"]

}

}

}

4query_string.查询包含python和大法

{

"query": {

"query_string":{

"query":"python AND 大法"

}

}

}

5query_string.查询包含python和大法

{

"query": {

"query_string":{

"query":"python AND 大法",

"fields":["author","title"]

}

}

}

字段级别查询:针对结构化数据 如:数字,日期;

查询年龄等于20的

{

"query": {

"term":{

"age":20

}

}

}

查询5<=age=<20的

{

"query": {

"range":{

"age":{

"gte":5,

"lte":20

}

}

}

}

 

filler context 做数据过滤,缓存,查询快 在查询过程中只会判断是否满足条件,yes ||no

{

"query":{

"bool":{

"filter":{

"term":{

"age":20

}

}

}

}

}

 

 

复合条件查询:以一定的逻辑组合条件查询

固定分数查询

 

 

布尔查询

should只要满足一个条件就可以 must

{

"query": {

"bool": {

"should": [

{"match": {

"name":"三撒"

}

},

{

"match":{

"age": 20

}

}

]

}

}

}

 

增加过滤条件:查询满足三个条件

{

"query": {

"bool": {

"must": [

{"match": {

"name":"三撒"

}

},

{

"match":{

"age": 20

}

}

],

"filter":[{"term":{"date":"2019-10-05"}}]

}

}

}

 

查询不包含 三

{

"query": {

"bool": {

"must_not": {

"term": {

"name": "三"

}

}

}

}

}

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值