elasticsearch rest api操作,elasticsearchrest
REST(REpresentational State Transfer)从字面看就是“表述性状态传输”,它通常是开发的一种约定,当所有的开发者都遵从这种约定的时候,可以大大简化开发的沟通成本。REST约定用HTTP的请求头POST、GET、PUT、DELETE正好可以对应CRUD(Create、Read、Update、Delete)四种数据操作。如果你设计的应用程序能符合REST原则(REST可称为"RESTful Web Service"也称"RESTful Web API"。1.查看集群状态
GET /_cat/health?v
返回值
从以上的返回值中,我们可以得到一个名为ElasticSearch的集群,共有一个节点,没有索引数据。
ps:Epoch :时间戳 long 类型的
2.查看所有节点状态
`GET /_cat/nodes?v`
三、常见 CRUD 操作
1.新建索引
PUT /hiup?pretty
返回值
{
"acknowledged": true,
"shards_acknowledged": true
}
pretty参数:用来格式化返回值。类似于mysql\G 来格式化输出一样的作用。需要注意的是这个需要的操作是PUT 操作。
2.查看所有索引
GET /_cat/indices?v
这时候再使用这个命令,我们就能查看到所有索引数据。
从以上的返回值中,我们可以看见已经创建一个名为 hiup 尚未分配的索引。
3.创建文档
curl -XPUT 'localhost:9200/hiup/user/2?pretty' -d '{"name":"fu"}'
从以上的返回值,我们可以得到成功创建了一个hiup索引,类型为user,id为 2 。
需要声明的是,当你创建一个文档时,无需再这之前创建一个索引和类型,ElasticSearch会自动根据你的创建信息自动创建相应的索引、类型,直至文档。
4.查看文档
curl -XGET 'localhost:9200/hiup/user/1?pretty'
5.删除文档
curl -XDELETE 'localhost:9200/hiup/user/1?pretty'
从返回值,我们可以发现通过操作我们已经删除了hiup索引中类型为user,id为1的文档。
6.修改文档
1.curl -XPUT 'localhost:9200/hiup/user/2?pretty' -d '{"name":"xiaoming"}'
从返回结构来看,我们可以发现修改了一个huip索引类型为user的文档。
2.curl -XPOST 'localhost:9200/hiup/user/2/_update?pretty&pretty' -d'
{
"doc": { "name": "xiaohong" }
}
从返回结果来说,这两个操作时一样的。有所不同的是,上一个操作为替换操作,这个为更新操作。
7.批量新增文档
curl -XPOST 'localhost:9200/hiup/user/_bulk?pretty&pretty' -d
'{"index":{"_id":"1"}}
{"name": "zhaowu" }
{"index":{"_id":"2"}}
{"name": "wangwu" }'- 1
8.分页查询
curl -XGET 'localhost:9200/hiup/user/_search?pretty' -d'
{
"query": { "match_all": {} },
"from": 1,
"size": 1
}
- query:匹配所有
- from:开始读取索引,从第十条开始读取
- size:读取条数,相当于pagesize
9.过滤查询
$ curl -XGET 'localhost:9200/hiup/_search?pretty' -d'
{
"query": {
"bool": {
"must": { "match_all": {} },
"filter": {
"range": {
"age": {
"gte": 0,
"lte": 1
}
}
}
}
}
}'- 12
查询hiup索引过滤age 大于等于0 小于等于1
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。