linux操作es 命令

这篇具有很好参考价值的文章主要介绍了linux操作es 命令。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

curl http://192.168.6.16:9200

正常状态:

linux操作es 命令,eslinux操作es 命令,eslinux操作es 命令,eslinux操作es 命令,es

非正常状态:

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

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

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

2.cat检测集群健康状况

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

linux操作es 命令,eslinux操作es 命令,es

 

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

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

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

linux操作es 命令,eslinux操作es 命令,es

 

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

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

再查看:

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

linux操作es 命令,eslinux操作es 命令,es

 

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

type是user, id指定为1

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

linux操作es 命令,eslinux操作es 命令,es

 

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

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

linux操作es 命令,eslinux操作es 命令,es

 

7.修改数据

7.1先新增一条数据

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

linux操作es 命令,es

linux操作es 命令,es7.2 根据ID查询这条数据

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

linux操作es 命令,eslinux操作es 命令,es

 

7.3修改id为2的数据

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

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

linux操作es 命令,eslinux操作es 命令,es

 

7.4查询修改结果

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

linux操作es 命令,eslinux操作es 命令,es

 

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

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

linux操作es 命令,eslinux操作es 命令,es

 

查看更新后的数据:

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

linux操作es 命令,eslinux操作es 命令,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":"北京东直门"}}'

linux操作es 命令,eslinux操作es 命令,es

 

查看:

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

linux操作es 命令,eslinux操作es 命令,es

 

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

10.1 查看数据

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

linux操作es 命令,eslinux操作es 命令,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":"北京东直门"}}'

linux操作es 命令,eslinux操作es 命令,es

 

10.3 查看修改后数据

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

linux操作es 命令,eslinux操作es 命令,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

linux操作es 命令,eslinux操作es 命令,es

 

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

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

linux操作es 命令,eslinux操作es 命令,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} '

linux操作es 命令,eslinux操作es 命令,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"}} '

linux操作es 命令,eslinux操作es 命令,es

 

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

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

linux操作es 命令,es

linux操作es 命令,es

publicstaticvoidmain(String[] args) { File file=newFile("E:\1\myjson.json"); FileWriter writer=null;intsize = 200;try{ writer=newFileWriter("E:\1\myjson.json");for(inti = 10; i < size+10; i++) { writer.write("{"index":{"_id":""+i+""}}"+" "+"{"name":"张三"+i+"","age": "+i+","address":"北京"+i+""}"+" "); } writer.flush(); }catch(IOException e) { e.printStackTrace(); }finally{try{ writer.close(); }catch(IOException e) { e.printStackTrace(); } } }

View Code

如果报错,解决方案:https://www.cnblogs.com/sxdcgaq8080/p/11119883.html

指定要导入的 索引、type、使用bulk命令 @符号后面跟json文件的绝对路径

curl -XPOST http://192.168.6.16:9200/my_new_index/user/_bulk?pretty --data-binary @/cjf/es/elasticsearch-2.3.3/data/myjson.json

linux操作es 命令,eslinux操作es 命令,es

 

查看index详情:

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

可以看到成功批量插入了200条

linux操作es 命令,eslinux操作es 命令,es

 

===================================下来看查询(删除索引在最后)=========================================

16.查询某个索引中的所有数据

curl http://192.168.6.16:9200/my_new_index/_search?q=*&pretty

等价于

curl -XPOST http://192.168.6.16:9200/my_new_index/_search?pretty -d '{"query":{"match_all":{ } } }'

curl -XPOST http://192.168.6.16:9200/my_new_index/_search?pretty -d '{"query":{ "match_all":{}}}'

linux操作es 命令,eslinux操作es 命令,es

 

17.查询指定索引下的数据

【如果不指定size,默认返回10条】

curl -XPOST http://192.168.6.16:9200/my_new_index/_search?pretty -d ' { "query":{ "match_all":{ } }, "size":10 } '

linux操作es 命令,eslinux操作es 命令,es

 

18.分页查询,从第10条,返回10条

curl -XPOST http://192.168.6.16:9200/my_new_index/_search?pretty -d '{"query":{"match_all":{ } },"from": 10,"size": 10}'

linux操作es 命令,eslinux操作es 命令,es

 

19.按照age字段倒序排序 sort,取出20条

curl -XPOST http://192.168.6.16:9200/my_new_index/_search?pretty -d '{"query":{"match_all":{ } },"sort":{"age":{"order":"desc"} },"from": 0,"size": 20}'

linux操作es 命令,eslinux操作es 命令,es

 

20.只返回想查询的部分字段

只返回name和address列

curl -XPOST http://192.168.6.16:9200/my_new_index/_search?pretty -d '{"query":{"match_all":{ } },"_source":["name","address"] }'

linux操作es 命令,eslinux操作es 命令,es

 

21.条件匹配查询

21.1查询age=200的数据

curl -XPOST http://192.168.6.16:9200/my_new_index/_search?pretty -d '{"query":{"match":{"age":200} } }'

linux操作es 命令,eslinux操作es 命令,es

 

21.2 查询address中包含 “北京” 的数据

curl -XPOST http://192.168.6.16:9200/my_new_index/_search?pretty -d '{"query":{"match":{"address":"北京"} } }'

linux操作es 命令,eslinux操作es 命令,es

 

21.3 查询 address中 包含“北京” 或 “西安”的所有数据 【匹配单个词语 空格分隔】

curl -XPOST http://192.168.6.16:9200/my_new_index/_search?pretty -d '{"query":{"match":{"address":"北京 西安"} } }'

linux操作es 命令,eslinux操作es 命令,es

 

21.4 查询address中包含“北京 西安” 完整词语的【短语匹配,“北京 西安”作为一个完整词语查询】、

curl -XPOST http://192.168.6.16:9200/my_new_index/_search?pretty -d '{"query":{"match_phrase":{"address":"北京 西安"} } }'

linux操作es 命令,eslinux操作es 命令,es

 

22.布尔查询 bool

22.1布尔查询bool and查询,必须同时满足 address中包含“北京”,又要满足address中包含“西安”

must表示所有查询必须都为真才被认为匹配

curl -XPOST http://192.168.6.16:9200/my_new_index/_search?pretty -d '{"query":{"bool":{"must":[ {"match":{"address":"北京"} }, {"match":{"address":"西安"} } ] } } }'

linux操作es 命令,eslinux操作es 命令,es

 

22.2 布尔查询bool or查询 address中包含“北京” 或者 address中包含“西安” 都可以

should 表示查询列表中只要有任何一个为真则认为匹配

curl -XPOST http://192.168.6.16:9200/my_new_index/_search?pretty -d '{"query":{"bool":{"should":[ {"match":{"address":"北京"} }, {"match":{"address":"西安"} } ] } } }'

linux操作es 命令,eslinux操作es 命令,es

 

22.3 布尔查询bool 都不能满足的 既不能包含这个,也不能包含那个

must_not表示查询列表中没有为真的(也就是全为假)时则认为匹配

curl -XPOST http://192.168.6.16:9200/my_new_index/_search?pretty -d '{"query":{"bool":{"must_not":[ {"match":{"address":"北京"} }, {"match":{"address":"西安"} } ] } } }'

linux操作es 命令,eslinux操作es 命令,es

 

22.4 这样,就可以布尔查询 多条件组合 查询

curl -XPOST http://192.168.6.16:9200/my_new_index/_search?pretty -d '{"query":{"bool":{"must":[ {"match":{"age":200} } ],"must_not":[ {"match":{"address":"西安"} } ] } } }'

linux操作es 命令,eslinux操作es 命令,es

 

23. 范围查询 range 查询年龄25-30之间的

curl -XPOST http://192.168.6.16:9200/my_new_index/_search?pretty -d '{"query":{"range":{"age":{"gte":25,"lte":30} } } }'

linux操作es 命令,eslinux操作es 命令,es

 

24.聚合查询 aggs

按照name进行聚合分组,然后按照记录数,从大到小排序,默认返回前10条

curl -XPOST http://192.168.6.16:9200/my_new_index/_search?pretty -d '{"size":0,"aggs":{"group_by_name":{"terms":{"field":"name"} } } }'

linux操作es 命令,eslinux操作es 命令,es

 

25. 聚合查询 aggs ,求age的平均值

curl -XPOST http://192.168.6.16:9200/my_new_index/_search?pretty -d '{"size":0,"aggs":{"average_age":{"avg":{"field":"age"} } } }'

linux操作es 命令,eslinux操作es 命令,es

 

按name分组,求age的平均值

curl -XPOST http://192.168.6.16:9200/my_new_index/_search?pretty -d '{"size":0,"aggs":{"group_by_name":{"terms":{"field":"name"},"aggs":{"average_age":{"avg":{"field":"age"} } } } } }'

linux操作es 命令,eslinux操作es 命令,es

 

100.删除索引

100.1 查看所有索引信息

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

linux操作es 命令,eslinux操作es 命令,es

 

100.2 删除指定索引

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

linux操作es 命令,eslinux操作es 命令,es

 

100.3 再次查看

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

linux操作es 命令,eslinux操作es 命令,es

 

==========================================文章来源地址https://www.toymoban.com/news/detail-652842.html

到了这里,关于linux操作es 命令的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用linux命令查询es报错

    近期遇到一个问题,生产环境没有elasticsearch-head,需要用linux命令查询es,所以我从网上搜索到查询的命令执行,但是却报403: 报错信息: {\\\"error\\\":{\\\"root_cause\\\":[{\\\"type\\\":\\\"transport_exception\\\",\\\"reason\\\":\\\"Forbidden\\\"}],\\\"type\\\":\\\"transport_exception\\\",\\\"reason\\\":\\\"Forbidden\\\"},\\\"status\\\":403} 因为在测试环境使用elastics

    2024年02月12日
    浏览(52)
  • elasticsearch 7.9.3知识归纳整理(二)之 es基本原理及使用kibana操作es的常见命令

    一、es的基本原理与基础概念 1.1 倒排索引 倒排索引 源于实际应用中需要根据属性的值来查找记录。这种索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称为倒排索引(inverted index)。带

    2024年02月12日
    浏览(49)
  • Linux:Linux常用操作命令

    本篇博客将介绍Linux操作系统中常用的命令,并为每个命令提供详细的介绍说明和相关的脚本实例。 man命令 man 命令用于查看命令的详细手册页。 help命令 help 命令用于获取shell内置命令的简要帮助信息。 shutdown命令 shutdown 命令用于关闭系统并执行关机操作。 reboot命令 reboot

    2024年02月10日
    浏览(66)
  • Linux 终端操作命令(2)内部命令

    也称Shell命令,是用户与操作系统内核进行交互的命令解释器,它接收用户输入的命令并将其传递给操作系统进行执行,可分为内部命令和外部命令。内部命令是Shell程序的一部分,而外部命令是独立于Shell的可执行程序。 内部命令,实际上是shell程序的一部分,由shell程序识

    2024年02月13日
    浏览(35)
  • Linux文件目录操作命令-mv命令

            mv 命令是 move 的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。  mv 命令中第二个参数类型的不同(是目标文件还是目标目录), mv 命令将文件重命名或将其移至一个新的目录中。当第二个参数类型

    2024年02月02日
    浏览(44)
  • 【Linux】Linux操作命令—最全版

    一、Linux下基本指令 01. ls 指令  02.cd 指令 03.touch指令  04 mkdir指令 05 man指令 06 cp指令 07 mv指令     08 cat指令 09  more指令 10 less指令  11 head 命令  12 tail 命令 二、时间相关的指令  01 date显示 1.在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记

    2024年03月10日
    浏览(49)
  • Linux命令大全:掌握常用命令,轻松使用Linux操作系统

    Linux常用命令是指在Linux操作系统中广泛使用的命令工具,这些命令工具可以完成各种不同的任务,如管理文件和目录、操作进程、网络通信、软件安装等。一些常用的Linux命令包括cd、ls、mkdir、rm、cp、mv、ps、top、ping、ssh、tar、grep、find、shutdown、reboot、apt和yum等。这些命令工

    2024年02月14日
    浏览(59)
  • 【Linux操作系统】【综合实验一 Linux操作基础】【浅试Linux命令】

    Linux均以文件形式存在 本文出现的命令浅尝辄止,具体使用参考文档即可 解决一个任务的方法很多,本文仅浅试了一些简单的命令 要求掌握Linux基础操作,熟悉Linux行界面,并 明白操作的原理以及目的(难) ;熟悉Linux系统环境。 通过这个第一阶段实验,要求掌握以下操作

    2023年04月08日
    浏览(101)
  • Linux 命令操作(一)——文件和目录操作

    目录信息 参考链接 Linux常用操作命令大全 1.1、创建文件夹 1.1.1、创建目录 1.1.2、创建文件 touch命令操作 1.2、删除文件夹/文件 1.2.1、删除目录操作 1.2.2、删除文件 1.3、重命名目录或者文件名称 1.4、目录切换 1.5、目录以及文件列表查看 1.6、复制目录或者文件 -r 递归处理,将

    2024年02月03日
    浏览(46)
  • 【玩转Linux操作】详细讲解 Linux分区&&磁盘 操作以及相关的命令

    🎊专栏【玩转Linux操作】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【Counting Stars 】 欢迎并且感谢大家指出小吉的问题🥰 在Linux中,分区是将硬盘或其他存储设备划分为逻辑部分的过程。每个分区都被视为一个独立的存储空间,可以用于存储文件系统、

    2024年02月16日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包