Elasticsearch 7.7.0 基本操作-基于 CMD 命令行

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


 

你可能感兴趣的:(ES,es命令行,elasticsearch)