elasticsearch-4. 常用命令请求

常用命令请求

  1. 获取健康状况
GET /_cat/health?v
  1. 获取集群中节点列表
GET /_cat/nodes?v
  1. 获取索引列表
GET /_cat/indices?v
  1. 创建名字为customer的索引
PUT /customer?pretty
  1. 给customer索引存入数据
PUT /customer/doc/1?pretty
{
  "name": "John Doe"
}

Elasticsearch并不要求你在索引文档之前先显性的创建索引。在4、5步骤中,如果在执行步骤5时,customer索引还没有创建,Elasticsearch将会自动的创建这个索引

  1. 删除索引
DELETE /customer?pretty

访问数据命令模板为:<REST Verb> /<Index>/<Type>/<ID>

  1. 修改数据
PUT /customer/doc/1?pretty
{
  "name": "Jane Doe"
}
  1. 非显性的指定id,elasticsearch会自动创建
POST /customer/doc?pretty
{
  "name": "Jane Doe"
}
  1. 更新文档
POST /customer/doc/1/_update?pretty
{
  "doc": { "name": "Jane Doe" }
}
  1. 更新并添加数据
POST /customer/doc/1/_update?pretty
{
  "doc": { "name": "Jane Doe", "age": 20 }
}
  1. 删除文档
DELETE /customer/doc/2?pretty
  1. 批量操作,使用_bulk
  • 索引两个文档
POST /customer/doc/_bulk?pretty
{"index":{"_id":"1"}}
{"name": "John Doe" }
{"index":{"_id":"2"}}
{"name": "Jane Doe" }
  • 更新id=1的文档,删除id=2的文档
POST /customer/doc/_bulk?pretty
{"update":{"_id":"1"}}
{"doc": { "name": "John Doe becomes Jane Doe" } }
{"delete":{"_id":"2"}}

  1. 搜索,通过_search
  • 通过请求URL
GET /bank/_search?q=*&sort=account_number:asc&pretty //返回bank索引的所有文档
- q=* 匹配bank索引中的所有文档
- sort=account_number:asc 使用每个文档中的account_number字段进行升序排序
- pretty 告诉Elasticsearch返回 pretty-printed JSON 结果
  • 通过请求体
GET /bank/_search
{
  "query": { "match_all": {} },
  "sort": [
    { "account_number": "asc" }
  ]
}
  • 结果解析
{
  "took" : 63,
  "timed_out" : false,
  "_shards" : {
    "total" : 5,
    "successful" : 5,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : 1000,
    "max_score" : null,
    "hits" : [ {
      "_index" : "bank",
      "_type" : "account",
      "_id" : "0",
      "sort": [0],
      "_score" : null,
      "_source" : {"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"}
    }, {
      "_index" : "bank",
      "_type" : "account",
      "_id" : "1",
      "sort": [1],
      "_score" : null,
      "_source" : {"account_number":1,"balance":39225,"firstname":"Amber","lastname":"Duke","age":32,"gender":"M","address":"880 Holmes Lane","employer":"Pyrami","email":"amberduke@pyrami.com","city":"Brogan","state":"IL"}
    }, ...
    ]
  }
}
- took Elasticsearch查询耗费时间,单位毫秒
- timed_out 查询是否超时
- _shards 查询了多少个分片,和查询成功/跳过/失败的分片的数量
- hits 查询结果
- hits.total 匹配搜索条件的所有文档数
- hits.hits 搜索结果的实际数组(默认前10个文档)
- hits.sort 结果排序的key
- hits._score 和 max_score 现在可以忽略的字段
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 博客原文一博客原文二 翻译作品,水平有限,如有错误,烦请留言指正。原文请见 官网英文文档 起步 Elasticse...
    rabbitGYK阅读 3,294评论 0 68
  • 基础概念 Elasticsearch有几个核心概念,从一开始理解这些概念会对整个学习过程有莫大的帮助。 接近实时(...
    山天大畜阅读 2,124评论 0 4
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,067评论 19 139
  • 生活在如此狭小的空间里,每天通过老师的传播,新闻的传播来得知大世界的一件事。但我们都知道,这不过是很微小的一部分。...
    挂在枝头的鱼阅读 437评论 0 0
  • 今天给孩子视频读了两个小时的书《窗边的小豆豆》,不时引得她哈哈大笑,度过了一段快乐的亲子时光。喜欢里面小林校长的一...
    绽蕊向阳阅读 175评论 2 1