es的命令格式(以url方式访问)
http://esip:9200/index/type/id 注:其中index,跟type必须填写,也可以把index称呼为索引,type可以说是分类(逻辑分类,并不是编程语言里面的type),id就是id本意(也是唯一的)。如果你存储的是数据类url,最后面最好加上 ?pretty 其中 ?是引出条件 pretty是条件内容,通过**?pretty**可以让你显示的很工整。
新增数据
* 创建索引
# curl -XPUT 'http://10.28.88.199:9200/af' #创建一个af的索引
# curl -XPUT 'http://10.28.88.199:9200/af/gp/1?pretty' -d '{"name":"ys"}' #向索引af新增条数据记录
* 向es索引,并且加入数据
# curl -H "Content-Type:application/json" -XPUT 'http://10.28.88.199:9200/ac/book/1?pretty' -d '{"title":"创始道纪"}'
# curl -XPUT 'http://10.28.88.199:9200/ac/book/2?pretty' -d '{"title":"神武独尊"}'
# curl -XPUT 'http://10.28.88.199:9200/ac/book/3?pretty' -d '{"title":"神级修炼"}'
# curl -XPUT 'http://10.28.88.199:9200/ac/book/4?pretty' -d '{"title":"万古一线天"}'
# curl -XPUT 'http://10.28.88.199:9200/ac/book/5?pretty' -d '{"title":"es"}'
注:其中 -H是定义header头部信息(看需求,可写可不写) -X 接请求方法 PUT是http请求方法之一,主要是将数据存入es中,里面有数据就替代,没有就创建 -d 接具体数据
查询数据
注:url后面的"v"表示 verbose 的意思,这样可以更可读(有表头,有对齐),如果不加v,不会显示表头
* 返回当前索引单条记录
# curl -XGET 'http://10.28.88.199:9200/ac/book/4?pretty
* 返回当前索引所有记录可以只指定索引,也可以指定索引跟type
# curl 'http://10.28.88.199:9200/ac/_search/?pretty'
* 查询当前es所有索引信息
# curl 'http://10.28.88.199:9200/_cat/indices?v' #后面加?v ?在开篇的时候已经说过了
注:health集群运行状况(yellow是正常),inde对应的是索引,pri是索引分片,rep是副本,docs.count:当前索引里面有多少数据记录,docs.deleted
删除数据记录,store.size数据存储的总大小,pri.stoe.size是分片数据存储的大小
* 查询当前集群监控状况 # curl 'http://10.28.88.199:9200/_cat/health?v'
* 获取当前集群的所有节点信息 # curl 'http://10.28.88.199:9200/_cat/nodes?v'
修改数据记录
- 直接在id不动的情况进行数据修改简单来说就是覆盖
# curl -XPUT 'http://10.28.88.199:9200/ac/book/4?pretty' -d '{"title":"shell脚本编程指南"}'
注:书籍名是不是已经改变了,主要是依赖put请求方法实现的
* 通过_update API方式单独新增字段()
# curl -XPOST 'http://10.28.88.199:9200/ac/book/4/_update?pretty' -d '{ "doc":{"price":"50"}}' #新增字段 -d '{"doc":{字段信息}}'
删除
* 删除索引
# curl -XDELETE 'http://10.28.88.199:9200/af'
* 删除单条记录
# curl -XDELETE 'http://10.28.88.199:9200/ac/book/4?pretty' #删除某条数据记录(还存在具体的记录,但是数据已经没 了) -XDELETE