Elasticsearch API 使用指南(全)

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 常用的API,可以用来监控 elasticsearch 集群。

1. 集群支持的选项

curl -XGET "http://172.0.0.52:9200/_cat"

2. 查看节点信息

curl -XGET "http://172.0.0.52:9200/_cat/nodes?v"

3. 查看master节点信息

curl -XGET "http://172.0.0.52:9200/_cat/master?v"

4.查看所有节点上的热点线程

curl -XGET "http://172.0.0.52:9200/_nodes/hot_threads"

5.查看有问题的分片或索引

curl -XGET "http://172.0.0.52:9200/_cluster/allocation/explain?pretty"

6.查看线程池设置

curl -XGET "http://172.0.0.52:9200/_nodes/thread_pool/"

7.统计全部信息

curl -XGET "http://172.0.0.52:9200/_cluster/stats?human&pretty"

8.查看集群状态

curl -XGET "http://172.0.0.52:9200/_cluster/health?pretty"

9.查看ES信息

curl -XGET "http://172.0.0.52:9200/"

10.获取所有索引的信息

curl -XGET "http://172.0.0.52:9200/_cat/indices?v&pretty"
curl -XGET "http://172.0.0.52:9200/_cat/nodes?v"
curl -XGET "http://172.0.0.52:9200/_cat/segments?v&h=shard,segment,size,size.memory"

11.获取所有文档数量

curl -XGET "http://172.0.0.52:9200/_count?pretty" -H 'Content-Type: application/json' -d'
{

    "query": {

        "match_all": {}

    }

}'

12. 查看集群的健康状态

  • green:所有功能都是完好的;
  • yellow:所有数据是可用的,但是一些副本还没有被分配;
  • red代表一些数据由于某些原因已经不可用。
  • 注意,尽管一个集群是red状态,它仍然可以提供部分服务(比如,它会继续从可用的切片数据里搜索),但是在失去部分数据后,需要尽快去修复。
curl -XGET "http://172.0.0.52:9200/_cat/health?v"

13. 创建索引

  • test_one 索引名
  • pretty 参数表示输出格式良好的JSON响应(如果存在)
curl -XPUT "http://172.0.0.52:9200/test_one?pretty"

14. 查看索引列表

curl -XGET "http://172.0.0.52:9200/_cat/indices?v"
curl -XGET "http://172.0.0.52:9200/test_one"

15. 删除索引

  • 根据索引名称删除
curl -XDELETE "http://172.0.0.52:9200/test_one?pretty"
  • 可以一次删除多个索引(以逗号间隔)删除所有索引_all或通配符 *

16. 创建文档

  • 向es中插入文档的时候,必须要指定一个类型(type)
16.1.使用PUT来创建文档,需要指定id
  • 索引 index:test_one
  • 类型 type:test_type
  • _id:1
curl -XPUT "http://172.0.0.52:9200/test_one/test_type/1?pretty" -H 'Content-Type: application/json' -d'
{"name": "ghl", "age": 24, "sex": "male"}'
16.2. 使用POST来创建文档,可以不指定id(不指定时随机生成id)
curl -XPOST "http://172.0.0.52:9200/test_one/test_type?pretty" -H 'Content-Type: application/json' -d'
{"name": "Jack"}'

17. 查看文档

curl -XGET "http://172.0.0.52:9200/test_one/test_type/1?pretty"

18. 替换文档

使用PUT并指定id时,es会使用新的文档替换原文档
curl -XPUT "http://172.0.0.52:9200/test_one/test_type/1?pretty" -H 'Content-Type: application/json' -d'
{"name": "Jack"}'

19. 更新文档

curl -XPOST "http://172.0.0.52:9200/test_one/test_type/1/_update?pretty" -H 'Content-Type: application/json' -d'
{"doc":{"name": "Lucy"}}'

20. 删除文档

curl -XDELETE "http://172.0.0.52:9200/test_one/test_type/1?pretty"

21. 索引的增删改查有一个类似的格式下:

curl -XGET "http://172.0.0.52:9200/<Index>/<Type>/<ID>"
  • REST Verb:REST风格的语法谓词;
  • Node:节点ip;
  • port:节点端口号,默认9200;
  • Index:索引名;
  • Type:索引类型;
  • ID:操作对象的ID号;

22. 判断索引是否存在

curl -XHEAD "http://172.0.0.52:9200/test_one"

23. 查看索引模板

curl -XGET "http://172.0.0.52:9200/_template/template_1"
curl -XGET "http://172.0.0.52:9200/_template/temp*"
curl -XGET "http://172.0.0.52:9200/_template/template_1,template_2"
curl -XGET "http://172.0.0.52:9200/_template"

24. 删除模板

curl -XDELETE "http://172.0.0.52:9200/_template/template_1"

25. 打开/关闭索引

curl -XPOST "http://172.0.0.52:9200/test_one/_close"
curl -XPOST "http://172.0.0.52:9200/test_one/_open"
curl -XGET "http://172.0.0.52:9200/_cat/indices?v"

26.查看索引状态信息

curl -XGET "http://172.0.0.52:9200/_stats"
curl -XGET "http://172.0.0.52:9200/logstash-nginx-access-2019.08.07,test_one/_stats"

27.查看索引段信息

curl -XGET "http://172.0.0.52:9200/test_one/_segments"
curl -XGET "http://172.0.0.52:9200/logstash-nginx-access-2019.08.07,test_one/_segments"
curl -XGET "http://172.0.0.52:9200/_segments"
相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
3月前
|
存储 API 索引
Elasticsearch Reroute API 的使用
Elasticsearch Reroute API 的使用
44 1
|
JSON API 数据库
ElasticSearch之基本用法API
ElasticSearch之基本用法API
ElasticSearch之基本用法API
|
自然语言处理 API 索引
ElasticSearch的常用api
ElasticSearch的常用api
106 0
ElasticSearch的常用api
|
消息中间件 API 数据库
elasticsearch使用指南之Elasticsearch Document Update API详解、原理与示例
本节详细介绍了Document Update API的核心关键点以及实现要点,最后给出Demo展示如何在JAVA中使用Update API。
3108 0
|
存储 API 网络架构
Elasticsearch集群API详解
Elasticsearch提供了大量了的Rest API用以操作相关功能,提供了极大的便利,掌握这些API是熟练地使用Elasticsearch的前提,这些API有Cluster APIs、Document APIs、Index APIs、Info API、Search Apis、Cat APIs等,本文主要讲解Cluster APIs,通过Cluster APIs可以查看集群简况、集群状态和统计信息、集群节点信息等。
317 0
Elasticsearch集群API详解
|
存储 JSON API
Elasticsearch实战(四)-Kibana常见RESTful API操作
Elasticsearch实战(四)-Kibana常见RESTful API操作
761 0
Elasticsearch实战(四)-Kibana常见RESTful API操作
|
JSON Java API
Elasticsearch API 使用指南(全)
常用的API,可以用来监控 elasticsearch 集群。
1237 0
|
API 索引 关系型数据库
《ElasticSearch6.x实战教程》之简单的API
《ElasticSearch6.x实战教程》之简单的API第三章-简单的API万丈高楼平地起 ES提供了多种操作数据的方式,其中较为常见的方式就是RESTful风格的API。 简单的体验 利用Postman发起HTTP请求(当然也可以在命令行中使用curl命令)。
1033 0
|
消息中间件 中间件 关系型数据库
elasticsearch使用指南之Elasticsearch Document Get API详解、原理与示例
本节首先罗列了文档Get API,并对GetRequest进行了详细分析,接着通过3个 示例展示Get API的使用,最后重点分析GET API 内部的实现机制(实时性、source过滤、路由、复制组内分片节点倾向性、刷新机制等)。
3195 0
|
消息中间件 API RocketMQ
elasticsearch使用指南之Elasticsearch Document Delete API详解、原理与示例
本文简单介绍了elasticsearch index delete api使用示例。
2356 0