启动ElasticSearch
启动ElasticSearch,点击运行bat文件,postman测试信息
 
创建索引
创建索引等同于创建一个数据库 ,请求类型:put,请求地址http://localhost:9200/template template表示索引名称

查询某个索引
请求类型:get,请求地址为: http://localhost:9200/template

查询所有索引
请求类型:get,请求地址:http://localhost:9200/_cat/indices?v

删除索引
请求类型:delete,请求地址:http://localhost:9200/template

再次请求查询所有索引,查不到template信息

向索引添加数据
添加数据也就是所谓的在template索引中添加字段(就如同在mysql中有张template表中添加字段) 请求方式:post,请求地址:http://localhost:9200/template/_doc 在请求时一定要添加请求体
请求体如下: 
“result”: “created”: 创建成功

固定id添加数据
请求方式:post,请求地址: http://localhost:9200/template/_doc/1000 或者 http://localhost:9200/template/_create/1000 1000 就表示固定id

主键查询数据
请求地址:get,请求地址:http://localhost:9200/template/_doc/1000 _source 为查询的数据源

没有则提示false

查询全部数据
请求方式:get,请求地址:http://localhost:9200/template/_search 查询template下所有的id数据

修改数据-主键完全覆盖
这里基本逻辑为:就是把新数据用body传输替换 请求方式:post,请求地址:http://localhost:9200/template/_doc/1000 “result”: “updated” 更新成功

重新主键查询

修改数据-局部覆盖
请求方式:post,请求地址:http://localhost:9200/template/_update/1000 “result”: “updated” 更新成功

主键查询,数据更新成功

主键删除
请求方式:delete,请求地址:http://localhost:9200/template/_doc/1000

主键查询,id为1000的数据不存在

条件查询
请求方式:get,请求地址:http://localhost:9200/template/_search?q=name:张三 q代表查询的意思(query) 本地有李四数据测试,更直观


请求体查询
请求方式:get,请求地址:http://localhost:9200/template/_search,外加请求体
{
"query":{
"match":{
"name":"李四"
}
}
}

请求体全查询
请求方式:get,请求地址:http://localhost:9200/template/_search,请求体
{
"query":{
"match_all":{
}
}
}

分页全查询
请求方式:get,请求地址:http://localhost:9200/template/_search,请求体添加from,size
{
"query":{
"match_all":{
}
},
"from": 0,
"size": 2
}

指定参数查询
请求方式:get,请求地址:http://localhost:9200/template/_search,请求体添加 _source
{
"query":{
"match_all":{
}
},
"from": 0,
"size": 2,
"_source":"name"
}

排序查询
请求方式:get,请求地址:http://localhost:9200/template/_search,请求体 sort
{
"query":{
"match_all":{
}
},
"from": 0,
"size": 2,
"_source":["name","age"],
"sort":{
"age":{
"order":"desc"
}
}
}

组合查询-同时成立(非同时成立)
请求方式:get,请求地址:http://localhost:9200/template/_search,请求体关键字 must 若两个条件只成立一个就满足条件 请求体关键字为 should
{
"query":{
"bool":{
"must":[
{
"match":{
"name":"李四"
}
},
{
"match":{
"age":"40"
}
}
]
}
}
}

范围查询
请求方式:get,请求地址:http://localhost:9200/template/_search,请求体关键字:filter,range,gt(大于),lt(小于)
{
"query":{
"bool":{
"should":[
{
"match":{
"name":"张三"
}
}
] ,
"filter":{
"range":{
"age":{
"gt":40
}
}
}
}
}
}

模糊查询
es会把传入的值全部拆分,比如传入“张四”,他会默认为:like ‘%张%’ 和 like ‘%四%’ 一并查询 请求方式:get,请求地址:http://localhost:9200/template/_search,请求体关键字match 若要张四一起匹配 like ‘%张四%’ ;请求体关键字match_phrase
{
"query":{
"match":{
"name":"张四"
}
}
}
{
"query":{
"match_phrase":{
"name":"张四"
}
}
}
 
聚合查询
请求方式:get,请求地址:http://localhost:9200/template/_search,请求体关键字 aggs
{
"aggs":{
"age_group":{
"terms":{
"field": "age"
}
}
}
}

年龄平均值,关键字 avg
{
"aggs":{
"age_avg":{
"avg":{
"field": "age"
}
}
},
"size":0
}

映射关系
请求方式:put,请求地址:http://localhost:9200/user/_mapping,请求体
{
"properties":{
"name":{
"type":"text",
"index":true
},
"sex":{
"type":"keyword",
"index":true
},
"tel":{
"type":"keyword",
"index":false
}
}
}

|