Elasticsearch API 使用指南(全)

https://yq.aliyun.com/articles/743347node


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"
相關文章
相關標籤/搜索