ElasticSearch 中 REST API 详解

本文主要内容:

ElasticSearch常用的操作

ElasticSearchbulk命令


ES REST API

elasticsearch支持多种通讯,其中包括http请求响应服务,因此通过curl命令,可以发送http请求,并得到json返回内容。

常用的REST请求有:

检查集群状态

curl localhost:9200/_cat/health?v

检查节点状态

curl localhost:9200/_cat/nodes?v

查询全部索引

curl localhost:9200/_cat/indices?v

ElasticSearch 中 REST API 详解

注:集群状态分为green yellow red三种状态,green 表示健康,yellow表示数据完整但是副本存在问题,red表示数据不完整。本例中集群是两个节点,另外一个节点没有开,故状态为yellow。

创建索引

curl -XPUT localhost:9200/索引名/类型/id -d {//JSON格式的body体}

删除索引

curl -XDELETE localhost:9200/索引名

查询索引

curl -XGET localhost:9200/索引名/类型/id

 


ES 使用bulk 添加数据

 使用bulk命令,添加json文件中的数据。

1.新建json文件accounts.json,定义json数据格式,其中每个数据格式都是如下:

{
       "index":{"_id":"1"}
      "account_number": 0,
      "balance": 16623,
      "firstname": "Bradshaw",
      "lastname": "Mckenzie",
      "age": 29,
      "gender": "F",
      "address": "244 Columbus Place",
      "employer": "Euron",
      "email": "bradshawmckenzie@euron.com",
      "city": "Hobucken",
      "state": "CO"
  }

2.执行命令,批量添加:

curl -XPOST 'localhost:9200/bank/account/_bulk?pretty' --data-binary "@accounts.json"

3.查询索引

curl 'localhost:9200/_cat/indices?v'

ElasticSearch 中 REST API 详解

表示我们已经成功批量导入1000条数据索引到bank索引中。