五、HTTP 与RESTful API


5.1 RESTful   API 调用
•Elasticsearch提供了一系列RESTful的API
–检查集群、节点、索引的健康度、状态和统计
–管理集群、节点、索引的数据及元数据
–对索引进行CRUD操作及查询操作
–执行其他高级操作如分页、排序、过滤等
•POST 戒PUT 数据使用json格式
•json
–JSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式。
–json传输的就是一个字符串
–python 中对应的字符串,列表,字典都可以转换成对应的json格式
•Rest API 的简单使用
–_cat API 查询集群状态,节点信息
–v 参数显示详细信息
http://192.168.4.15:9200/_cat/health?v
–help 显示帮助信息
http://192.168.4.15:9200/_cat/health?help
•Rest API 的简单使用
–nodes 查询节点状态信息
http://192.168.4.15:9200/_cat/nodes?v
[root@es1 bin]# curl http://192.168.0.10:9200/_cat/nodes?v
host ip heap.percent ram.percent load node.role master name
192.168.0.22 192.168.0.22 15 40 0.00 d m es5
192.168.0.12 192.168.0.12 3 40 0.05 d m es3
192.168.0.10 192.168.0.10 12 34 0.01 d * es1
192.168.0.21 192.168.0.21 15 40 0.00 d m es4
192.168.0.11 192.168.0.11 14 40 0.01 d m es2
–索引信息
http://192.168.4.15:9200/_cat/indices?v
[root@es1 bin]# curl http://192.168.0.10:9200/_cat/indices?v
health status index pri rep docs.count docs.deleted store.size pri.store.size
green open test 5 2 0 0 2.2kb 766b
green open proceject 5 1 0 0 1.5kb 795b
•RESTfulAPI 增加
–创建一个索引,并设置分片数量不副本数量
创建一个索引,并设置分片数量不副本数量
[root@es1 bin]#curl -XPUT 'http://192.168.0.10:9200/tarena/' -d '{
    "settings":{
        "index":{
            "number_of_shards": 5,
            "number_of_replicas": 1
         }
    }
}'
注:tarena索引名字 ;发送数据:-d ;number_of_shards:分片数; "number_of_replicas":副本数
•RESTfulAPI 插入数据
curl -XPUT 'http://192.168.0.10:9200/tarena/teacher/1' -d '{
    "title": "阶段1",
    "name":{"first": "小逗比", "last": "牛犇"},
    "age": 25
}’
curl -XPUT 'http://192.168.0.10:9200/tarena/teacher/2' -d '{
    "title": "阶段2",
    "name":{"first": "老逗比", "last": "丁丁"},
    "age": 52
}'
•查询 GET
[root@es1 bin]# curl -XGET 'http://192.168.0.10:9200/tarena/teacher/3'
{"_index":"tarena","_type":"teacher","_id":"3","_version":1,"found":true,"_source":{
"title": "阶段3",
"name":{"first": "漂亮姐", "last": "静静"},
"age": 20
更改 POST
把静静的age改为10
[root@es1 bin]# curl -XPOST 'http://192.168.0.10:9200/tarena/teacher/3/_update' -d '{
      "doc":{
         "age": 18
      }
}'
{"_index":"tarena","_type":"teacher","_id":"3","_version":2,"_shards":{"total":2,"successful":2,"failed":0}}
[root@es1 bin]#
删除 DELETE (没有权限认证可以删根不能放在公网)
删除ID为1的数据
[root@es1 bin]# curl -XDELETE 'http://192.168.0.10:9200/tarena/teacher/1'
删除类型
[root@es1 bin]# curl -XDELETE 'http://192.168.0.10:9200/tarena/teacher
删除索引
curl -XDELETE 'http://192.168.0.10:9200/tarena'

 

 

posted @ 2021-08-17 16:06  落樰兂痕  阅读(144)  评论(0编辑  收藏  举报