ES7.0命令行操作
#检查ES节点是否正常启动
curl http://localhost:9200
#cat检测集群健康状况
curl http://localhost:9200/_cat/health?v
#查看有多少索引
curl http://locahost:9200/_cat/indices?v
#创建新的索引
curl -XPUT http://locahost:9200/my_new_index?pretty
#对新增的索引,插入一条数据,type是user, id指定为1。
curl -XPUT http://locahost:9200/my_new_index/user/1?pretty -d '{"name":"张三","age":"23"}'
#根据ID,获取刚刚索引中新增的数据
curl -XGET http://locahost:9200/my_new_index/user/1?pretty
#修改id为2的数据
curl -XPUT http://locahost:9200/my_new_index/user/2?pretty -d '{"name":"李四修改","age":"28"}'
curl -XPOST http://locahost:9200/my_new_index/user/2/_update?pretty -d '{"doc":{"name":"李四更新","age":"230"}}'
curl -XPOST http://locahost:9200/my_new_index/user/2/_update?pretty -d '{"doc":{"name":"李四更新","age":"230","address":"北京东直门"}}'
curl -XPOST http://locahost:9200/my_new_index/user/2/_update?pretty -d '{"script" : "ctx._source.age += 5"}'
#删除数据
curl -XDELETE http://locahost:9200/my_new_index/user/2?pretty
#批量插入 bulk
curl -XPOST http://locahost:9200/my_new_index/user/_bulk?pretty -d '
{"index":{"_id":"3"}}
{"name":"赵思","age":12}
{"index":{"_id":"4"}}
{"name":"钱三一","age":13}
'
#批处理语句,bulk,更新id为1的数据,删除id为3的数据
curl -XPOST http://locahost:9200/my_new_index/user/_bulk?pretty -d '
{"update":{"_id":"1"}}
{"doc": {"name":"张三变李四","age":25}}
{"delete":{"_id":"3"}}
'
#查询某个索引中的所有数据
命令行
curl http://localhost:9200/my_new_index/_search?q=*&pretty
head插件
curl -XPOST http://localhost:9200/my_new_index/_search?pretty -d '{"query":{ "match_all":{}}}'
#每页10条
curl -XPOST http://localhost:9200/my_new_index/_search?pretty -d '
{
"query":{
"match_all":{
}
},
"size":10
}
'
#从第10条,返回10条
curl -XPOST http://localhost:9200/my_new_index/_search?pretty -d '
{
"query":{
"match_all":{
}
},
"from": 10,
"size": 10
}
'
#按照age字段倒序排序 sort,取出20条
curl -XPOST http://localhost:9200/my_new_index/_search?pretty -d '
{
"query":{
"match_all":{
}
},
"sort":{
"age":{
"order":"desc"
}
},
"from": 0,
"size": 20
}
'
#只返回name和address列
curl -XPOST http://localhost:9200/my_new_index/_search?pretty -d '
{
"query":{
"match_all":{
}
},
"_source":[
"name",
"address"
]
}
'
#查询age=200的数据
curl -XPOST http://localhost:9200/my_new_index/_search?pretty -d '
{
"query":{
"match":{
"age":200
}
}
}
'
#查询address中包含 “北京” 的数据
curl -XPOST http://localhost:9200/my_new_index/_search?pretty -d '
{
"query":{
"match":{
"address":"北京"
}
}
}
'
#查询 address中 包含“北京” 或 “西安”的所有数据 【匹配单个词语 空格分隔】
curl -XPOST http://localhost:9200/my_new_index/_search?pretty -d '
{
"query":{
"match":{
"address":"北京 西安"
}
}
}
'
#查询address中包含“北京 西安” 完整词语的【短语匹配,“北京 西安”作为一个完整词语查询】、
curl -XPOST http://localhost:9200/my_new_index/_search?pretty -d '
{
"query":{
"match_phrase":{
"address":"北京 西安"
}
}
}
'
# must表示所有查询必须都为真才被认为匹配
curl -XPOST http://localhost:9200/my_new_index/_search?pretty -d '
{
"query":{
"bool":{
"must":[
{
"match":{
"address":"北京"
}
},
{
"match":{
"address":"西安"
}
}
]
}
}
}
'
# should 表示查询列表中只要有任何一个为真则认为匹配
curl -XPOST http://localhost:9200/my_new_index/_search?pretty -d '
{
"query":{
"bool":{
"should":[
{
"match":{
"address":"北京"
}
},
{
"match":{
"address":"西安"
}
}
]
}
}
}
'
# must_not表示查询列表中没有为真的(也就是全为假)时则认为匹配
curl -XPOST http://localhost:9200/my_new_index/_search?pretty -d '
{
"query":{
"bool":{
"must_not":[
{
"match":{
"address":"北京"
}
},
{
"match":{
"address":"西安"
}
}
]
}
}
}
'
# 多条件组合 查询
curl -XPOST http://localhost:9200/my_new_index/_search?pretty -d '
{
"query":{
"bool":{
"must":[
{
"match":{
"age":200
}
}
],
"must_not":[
{
"match":{
"address":"西安"
}
}
]
}
}
}
'
# 范围查询 range 查询年龄25-30之间的
curl -XPOST http://localhost:9200/my_new_index/_search?pretty -d '
{
"query":{
"range":{
"age":{
"gte":25,
"lte":30
}
}
}
}
'
# 按照name进行聚合分组,然后按照记录数,从大到小排序,默认返回前10条
curl -XPOST http://localhost:9200/my_new_index/_search?pretty -d '
{
"size":10,
"aggs":{
"group_by_name":{
"terms":{
"field":"name"
}
}
}
}
'
# 聚合查询 aggs ,求age的平均值
curl -XPOST http://localhost:9200/my_new_index/_search?pretty -d '
{
"size":0,
"aggs":{
"average_age":{
"avg":{
"field":"age"
}
}
}
}
'
# 按name分组,求age的平均值
curl -XPOST http://localhost:9200/my_new_index/_search?pretty -d '
{
"size":0,
"aggs":{
"group_by_name":{
"terms":{
"field":"name"
},
"aggs":{
"average_age":{
"avg":{
"field":"age"
}
}
}
}
}
}
'
#删除索引
curl -XDELETE http://localhost:9200/my_new_index?pretty