zoukankan      html  css  js  c++  java
  • Elasticsearch API 使用指南(全)

    所有的语句默认都是没有用户名和密码,如果你的 es 集群做了安全认证的话,请在每一个 crul 后面加上 -u username:password

    例如:

    curl -u admin:123456 -XGET "http://172.0.0.52:9200/_cat"
    

    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. 查看集群的健康状态

    1. green:所有功能都是完好的;
    2. yellow:所有数据是可用的,但是一些副本还没有被分配;
    3. 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. 创建文档

    使用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"}'
    

    使用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"
    

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

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

    21. 判断索引是否存在

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

    22. 查看索引模板

    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"
    

    23. 删除模板

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

    24. 打开/关闭索引

    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"
    

    25. 查看索引状态信息

    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"
    

    26. 查看索引段信息

    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"

    作者:HaydenGuo

    出处:https://www.cnblogs.com/ghl1024/

    每一个前十年都想不到后十年我会演变成何等模样,可知人生无常,没有什么规律,没有什么必然。

    只要我还对新鲜的知识、品格的改进、情感的扩张、有胃口,这日子就是值得度过的。

  • 相关阅读:
    App更新之dialog数字进度条
    Android app启动是出现白屏或者黑屏如何解决?
    Tensorflow报错:AttributeError: module 'tensorflow._api.v1.io' has no attribute 'gfile'
    《Python深度学习》第三章阅读笔记
    在Ubuntu 18.04上配置CPU深度学习环境
    《Python深度学习》第二章阅读笔记
    《Python深度学习》第一章阅读笔记
    POJ 1118 Lining Up
    蓝桥杯-地宫取宝(动态规划)
    洛谷P2280[HNOI2003] 激光炸弹(二维前缀和)
  • 原文地址:https://www.cnblogs.com/ghl1024/p/12080054.html
Copyright © 2011-2022 走看看