启动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
}
}
}
|