简介
Es提供易理解、功能强大的rest api,用以用户与集群的交互。可以用作以下操作:
- 检查集群、节点、索引的健康、状态、统计
- 执行index的CRUD操作和搜索操作。
- 执行高级查询。例如 paging, sorting, filtering, scripting, aggregations等。
准备
本文通过kibana操作,需要提前运行es集群和kibana。访问Kibana地址 , 出现这样的界面表示访问成功。不成功检查kibana启动情况和kibana服务器的防火墙配置,, 点击
开始测试。
对es索引的简单增删查改
es提供rest api,通过post、delete、get、put操作分别实现索引库的增删查改
- 添加索引 kibana操作:PUT /indexname, 添加名叫indexname的索引库,如果存在会报错。 用curl则是: curl -XPUT "http://h120:9200/indexname",,
- 添加索引数据
POST /indexname/type {"name": "jack" }
,这样会在indexname/type下添加一个ducument,id为es随机生成,,关于index和type,有些说法是index类似mysql的数据库名,type类似表名,,实际上es中一个index下只能有一个type。
POST /indexname/type1 {"name": "jack" }
会报错,告诉我们有超过一个type是不行的。
-
指定id添加数据
POST /indexname/type/1 {"name":"num1"}
添加一个id为1的document
-
删除索引库、删除type
DELETE /indexname # 删除索引库 DELETE /indexname/type # 删除type
-
删除指定id的记录
DELETE /indexname/type/1
-
修改document
PUT /indexname/type/1 {"age":10,"name":"rose"}
修改id为1的数据,,这个是替换document的方式,如果做
PUT /indexname/type/1 {"addr":"chong'qing"}
操作,
,document只有addr字段,原有的age和name都没了。
-
查询
GET /indexname/type/1
-
通过query修改 https://www.elastic.co/guide/en/elasticsearch/reference/6.2/docs-update-by-query.html
-
批次命令 bulk https://www.elastic.co/guide/en/elasticsearch/reference/6.2/_batch_processing.html
集群健康
-
GET _cat/health?v
查询集群健康值, v参数显示每列列名,pretty选项美化返回结果。
,epoch、timestamp都表示操作时间 cluster集群名 status可选值为red(不可用)、yellow(部分可用、部分故障)、green(健康)
-
查询所有节点
GET _cat/nodes?v
-
查询主节点
GET _cat/master?v