==========

1.检查ES节点是否正常启动

curl http://192.168.6.16:9200

 

正常状态:

【ELK】7. elasticsearch linux上操作es命令详解

 

非正常状态:

  1>确保服务是不是正常启动了,端口用的是哪个

  2>防火墙是否关闭或者端口是否开放

  3>你的curl命令是否有问题,curl命令可能导致服务无法访问,可以尝试重启服务后,在外部浏览器访问URL地址即可。不一定非得用curl

 

 

2.cat检测集群健康状况

curl http://192.168.6.16:9200/_cat/health?v

【ELK】7. elasticsearch linux上操作es命令详解

绿色表示一切正常, 黄色表示所有的数据可用但是部分副本还没有分配,红色表示不可用

 

3.查询es中所有索引,所有已存在的索引

curl http://192.168.6.16:9200/_cat/indices?v

【ELK】7. elasticsearch linux上操作es命令详解

 

 

4.创建新的索引【索引要求是全小写字符,可以有下划线隔开】

curl -XPUT http://192.168.6.16:9200/my_new_index?pretty

 再查看:

curl http://192.168.6.16:9200/_cat/indices?v

 

【ELK】7. elasticsearch linux上操作es命令详解

 

 

5.对新增的索引,插入一条数据

type是user, id指定为1

curl -XPUT http://192.168.6.16:9200/my_new_index/user/1?pretty -d  '{"name":"张三","age":"23"}'

【ELK】7. elasticsearch linux上操作es命令详解

 

 

6.根据ID,获取刚刚索引中新增的数据

curl -XGET http://192.168.6.16:9200/my_new_index/user/1?pretty

【ELK】7. elasticsearch linux上操作es命令详解

 

 

7.修改数据

7.1先新增一条数据

curl -XPUT http://192.168.6.16:9200/my_new_index/user/2?pretty -d '{"name":"李四","age":"25"}'

【ELK】7. elasticsearch linux上操作es命令详解

 

7.2 根据ID查询这条数据

curl -XGET http://192.168.6.16:9200/my_new_index/user/2?pretty

【ELK】7. elasticsearch linux上操作es命令详解

 

7.3修改id为2的数据

curl -XPUT http://192.168.6.16:9200/my_new_index/user/2?pretty -d '{"name":"李四修改","age":"28"}'

即使用相同的新增命令操作  相同的ID,数据不同

【ELK】7. elasticsearch linux上操作es命令详解

 

 

7.4查询修改结果

curl -XGET http://192.168.6.16:9200/my_new_index/user/2?pretty

【ELK】7. elasticsearch linux上操作es命令详解

 

 

 

 

8.更新数据,使用POST请求,注意请求体,格式

curl -XPOST http://192.168.6.16:9200/my_new_index/user/2/_update?pretty -d '{"doc":{"name":"李四更新","age":"230"}}'

【ELK】7. elasticsearch linux上操作es命令详解

 

查看更新后的数据:

curl -XGET http://192.168.6.16:9200/my_new_index/user/2?pretty

【ELK】7. elasticsearch linux上操作es命令详解

 

 

 

9.更新数据的同时,新增列

就是将doc中的json数据列增加即可

curl -XPOST http://192.168.6.16:9200/my_new_index/user/2/_update?pretty -d '{"doc":{"name":"李四更新","age":"230","address":"北京东直门"}}'

 

【ELK】7. elasticsearch linux上操作es命令详解

 

 查看:

curl -XGET http://192.168.6.16:9200/my_new_index/user/2?pretty

【ELK】7. elasticsearch linux上操作es命令详解

 

 

 

10.将age字段字符串类型,修改为数字类型,并使用简单脚本对其操作

10.1 查看数据

curl -XGET http://192.168.6.16:9200/my_new_index/user/2?pretty

【ELK】7. elasticsearch linux上操作es命令详解

 

 

10.2 将age类型由字符串更改为数值

就是将json中的age的值的引号去掉

curl -XPOST http://192.168.6.16:9200/my_new_index/user/2/_update?pretty -d '{"doc":{"name":"李四更新","age":230,"address":"北京东直门"}}'

【ELK】7. elasticsearch linux上操作es命令详解

 

 

10.3 查看修改后数据

curl -XGET http://192.168.6.16:9200/my_new_index/user/2?pretty

【ELK】7. elasticsearch linux上操作es命令详解

 

10.4使用简单脚本,对年龄增加5

如果报错。解决方法:https://www.cnblogs.com/sxdcgaq8080/p/11119420.html

curl -XPOST http://192.168.6.16:9200/my_new_index/user/2/_update?pretty -d '{"script" : "ctx._source.age += 5"}'

 

查看:

curl -XGET http://192.168.6.16:9200/my_new_index/user/2?pretty

【ELK】7. elasticsearch linux上操作es命令详解

 

 

 

11.删除数据,根据ID删除

curl -XDELETE http://192.168.6.16:9200/my_new_index/user/2?pretty

【ELK】7. elasticsearch linux上操作es命令详解

 

 

 

13.批量插入 bulk

【注意JSON字符串格式】

curl -XPOST http://192.168.6.16:9200/my_new_index/user/_bulk?pretty -d '
{"index":{"_id":"3"}}
{"name":"赵思","age":12}
{"index":{"_id":"4"}}
{"name":"钱三一","age":13}
'

 

【ELK】7. elasticsearch linux上操作es命令详解

 

想要看插入以后索引下的数据,查询在后面16

 

 

14.批处理语句,bulk,更新id为1的数据,删除id为3的数据 

curl -XPOST http://192.168.6.16:9200/my_new_index/user/_bulk?pretty -d '
{"update":{"_id":"1"}}
{"doc": {"name":"张三变李四","age":25}}
{"delete":{"_id":"3"}}
'

 

【ELK】7. elasticsearch linux上操作es命令详解

 

15.导入批量数据集文件json文件【使用bulk批量导入】

测试的json批量数据集文件,java生成代码:

public static void main(String[] args) {
        File file   = new File("E:\\1\\myjson.json");
        FileWriter writer = null;
        int size = 200;

        try {
            writer =new FileWriter("E:\\1\\myjson.json");
            for (int i = 10; i < size+10; i++) {
                writer.write("{\"index\":{\"_id\":\""+i+"\"}}"+"\r\n"+"{\"name\":\"张三"+i+"\",\"age\": "+i+",\"address\":\"北京"+i+"\"}"+"\r\n");
            }
            writer.flush();
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            try {
                writer.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }


    }
View Code

相关文章: