ElasticSearch基本操作
1.创建索引(PUT)
http://127.0.0.1:9200/my_index
2.获取指定索引(GET)
http://127.0.0.1:9200/my_index
3.获取全部索引(GET)
http://127.0.0.1:9200/_cat/indices?v
4.删除索引(delete)
http://127.0.0.1:9200/my_index
5.创建文档(post)【自定义id】
http://127.0.0.1:9200/my_index/_doc/1001
{
"name":"张三",
"age":20
}
6.查询 -- 主键查询 &全查询 (get)
http://127.0.0.1:9200/my_index/_doc/1001
http://127.0.0.1:9200/my_index/_search
7.全量修改(put)&局部修改(post)
http://127.0.0.1:9200/my_index/_doc/1001
{
"name":"小刘",
"age":25
}
http://127.0.0.1:9200/my_index/_update/1001
{
"doc":{
"name":"李四"
}
}
8.删除(delete)
http://127.0.0.1:9200/my_index/_doc/1001
9.条件查询&分页查询&查询排序
http://127.0.0.1:9200/my_index/_search
{
"query":{
"match":{
"name":"李四" //指定条件查询
}
}
}
{
"query":{
"match_all":{ //查全部
}
},
"from":0, //当前页
"size":5, //页码
"_source":["name"], //指定查询字段
"sort":{
"age":{
"order":"desc"
}
}
}
10.多条件查询&范围查询
http://127.0.0.1:9200/my_index/_search
{
"query":{
"bool":{
"must":[ //类似and
"should":[ //类似or
{
"match":{
"name":"李四"
}
},
{
"match":{
"age":"25"
}
}
],
"filter":{ //过滤
"ranger":{ //范围
"age" : { //年龄字段
"gt" : 20 //大于20
}
}
}
}
}
}
11.全文检索&完全匹配&高亮查询
http://127.0.0.1:9200/my_index/_search
{
"query":{
"match_phrase":{ //完全匹配
"match":{ //模糊匹配
"name":"李四"
}
},
"highlight":{
"fields":{
"name":{} //高亮字段
}
}
}
12.聚合查询
http://127.0.0.1:9200/my_index/_search
{
"aggs":{ //聚合操作
"age_group":{ //自定义名称
"terms": { //分组
"field":"age" //分组字段
}
},
"age_avg":{ //自定义名称
"avg": { //平均值
"field":"age" //分组字段
}
}
},
"size":0 //只显示统计结果,不看原始数据
}
13.映射关系
http://127.0.0.1:9200/my_index/_mapping
{
"properties":{
"name" : {
"type" : "text", //表示可以分词查询
"index" : true //表示可以索引查询
},
"age" : {
"type" : "keyword", //表示完全匹配
"index" : false // 表示不能被索引 不能按这个字段查询
}
}
}