一、关于索引的请求
1、创建索引2、查询单个索引3、查询全部索引状态4、删除索引 二、关于文档的请求
1、创建文档
1.1、采用POST的方式
1.1.1、非幂等性1.1.2、幂等性 1.2、采用PUT的方式(幂等性) 2、查询文档
2.1、根据id查询文档2.2、查询所有文档
2.2.1、不带参方式2.2.2、请求体方式 3、单条件查询
3.1、直接跟参数查询3.2、请求体查询 4、多条件查询
4.1、同时满足条件4.2、只需要满足一个条件 5、查询剔除不需要项6、查询排序7、过滤查询8、完全匹配查询9、高亮查询
9.1、默认高亮显示9.2、自定义高亮显示 10、聚合查询
10.1、根据字段分组查询10.2、聚合求平局值 11、分页查询12、修改文档
12.1、全量修改12.2、局部修改 13、删除文档14、创建映射
一、关于索引的请求 1、创建索引使用PUT请求
http://127.0.0.1:9200/persion
'persion’代表你创建索引的名称,成功如下图所示:
使用GET请求
http://127.0.0.1:9200/persion
'persion’代表你查询索引的名称,成功如下图所示:
3、查询全部索引状态使用GET请求
http://127.0.0.1:9200/_cat/indices?v
4、删除索引使用DELETe请求
http://127.0.0.1:9200/persion
'persion’代表你删除索引的名称,成功如下图所示:
URI:http://127.0.0.1:9200/persion/_doc
Body:
{
"name" : "张三",
"age" : "20"
}
此方法会自动生成"_id"
1.1.2、幂等性URI:http://127.0.0.1:9200/persion/_doc/1001
Body:
{
"name" : "张三",
"age" : "20"
}
“1001"是你创建文档的”_id"
URI:http://127.0.0.1:9200/persion/_create/1002
Body:
{
"name" : "张三",
"age" : "20"
}
“1002"是你创建文档的”_id"
2、查询文档 2.1、根据id查询文档使用GET请求
URI:http://127.0.0.1:9200/persion/_doc/1001
“1001"是你查询文档的”_id"
2.2、查询所有文档 2.2.1、不带参方式使用GET请求
URI:http://127.0.0.1:9200/persion/_doc/_search
2.2.2、请求体方式使用GET请求
URI:http://127.0.0.1:9200/persion/_search
Body:
{
"query" : {
"match_all" : {
}
}
}
3、单条件查询
3.1、直接跟参数查询
使用GET请求
URI:http://127.0.0.1:9200/persion/_search?q=name:张三
3.2、请求体查询使用GET请求
URI:http://127.0.0.1:9200/persion/_search
Body:
{
"query" : {
"match" : {
"name" : "张三"
}
}
}
4、多条件查询
4.1、同时满足条件
使用GET请求
URI:http://127.0.0.1:9200/persion/_search
{
"query" : {
"bool" : {
"must" : [
{
"match" : {
"name" : "张三"
}
},
{
"match" : {
"age" : "20"
}
}
]
}
}
}
同时满足"name"是"张三",“age"是"20”
4.2、只需要满足一个条件使用GET请求
URI:http://127.0.0.1:9200/persion/_search
{
"query" : {
"bool" : {
"should" : [
{
"match" : {
"name" : "张三"
}
},
{
"match" : {
"name" : "李四"
}
}
]
}
}
}
只要满足"name"为"张三"或者"李四"
5、查询剔除不需要项使用GET请求
URI:http://127.0.0.1:9200/persion/_search
Body:
{
"query" : {
"match_all" : {
}
},
"_source" : ["name"]
}
表示在"_source"中的信息我们只需要"name"
6、查询排序使用GET请求
URI:http://127.0.0.1:9200/persion/_search
Body:
{
"query" : {
"match_all" : {
}
},
"sort" : {
"age" : {
"order" : "desc"
}
}
}
表示根据"age"进行降序排序
tip:只能排序数字,文本是不行的
7、过滤查询使用GET请求
URI:http://127.0.0.1:9200/persion/_search
Body:
{
"query" : {
"bool" : {
"filter" : {
"range" : {
"age" : {
"gt" : 18
}
}
}
}
}
}
查询"age"大于18的数据
8、完全匹配查询使用GET请求
URI:http://127.0.0.1:9200/persion/_search
Body:
{
"query" : {
"match_phrase" : {
"name" : "张三"
}
}
}
查询"name"必须是"张三"的数据
9、高亮查询 9.1、默认高亮显示使用GET请求
URI:http://127.0.0.1:9200/persion/_search
Body:
{
"query" : {
"match_phrase" : {
"name" : "张三"
}
},
"highlight" : {
"fields" : {
"name" : {}
}
}
}
条件匹配后,"name"字段高亮显示
9.2、自定义高亮显示使用GET请求
URI:http://127.0.0.1:9200/persion/_search
Body:
{
"query" : {
"match_phrase" : {
"name" : "张三"
}
},
"highlight" : {
"fields" : {
"name" : {
"pre_tags": [
""
],
"post_tags": [
""
]
}
}
}
}
10、聚合查询
10.1、根据字段分组查询
使用GET请求
URI:http://127.0.0.1:9200/persion/_search
Body:
{
"aggs" : {
"age_group" : {
"terms" : {
"field" : "age"
}
}
},
"size" : 0 //可以去除原始查询数据减少干扰
}
"age_group"是该聚合项名称,"age"是需要聚合的字段
10.2、聚合求平局值使用GET请求
URI:http://127.0.0.1:9200/persion/_search
Body:
{
"aggs" : {
"age_avg" : {
"avg" : {
"field" : "age"
}
}
},
"size" : 0 //可以去除原始查询数据减少干扰
}
"age_group"是该聚合项名称,"age"是需要聚合的字段
11、分页查询使用GET请求
URI:http://127.0.0.1:9200/persion/_search
Body:
{
"query" : {
"match_all" : {
}
},
"from" : 0,
"size" : 2
}
12、修改文档
12.1、全量修改
使用PUT请求
URI:http://127.0.0.1:9200/persion/_doc/1001
Body:
{
"name" : "张三",
"age" : "21"
}
“1001"是你修改文档的”_id"
使用POST请求
URI:http://127.0.0.1:9200/persion/_update/1001
Body:
{
"doc" : {
"age" : "22"
}
}
“1001"是你修改文档的”_id"
13、删除文档使用DELETE请求
URI:http://127.0.0.1:9200/persion/_doc/1002
“1002"是你删除文档的”_id"
使用PUT请求
URI:http://127.0.0.1:9200/persion/_mapping
Body:
{
"properties" : {
"name" : {
"type" : "text", //允许分词
"index" : true //允许索引
},
}
}



