ElasticSearch 菜鸟笔记(三)ElasticSearch 常见REST API 操作
2017-01-10 19:36
381 查看
一、前言
ElasticSearch 提供了一套非常强大并且易操作的 REST API 用于我们开发人员进行操作。主要 REST API 能完成以下几项功能:管理功能
i:检查集群、节点、索引的状态以及相关的统计数据
ii:管理集群、节点、索引数据以及源数据
维护索引
i:基本操作。
提供针对索引的CRUD操作(Create【PUT】, Read【GET】, Update【POST】, and Delete【POST】)
ii:高级操作
以及其他如分页、排序、过滤等高级操作
二、集群管理
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" }'
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 } } } } } }'
查询hiup索引过滤age 大于等于0 小于等于1
四、总结
ElasticSearch 是一个很强大 并且很友好的全文检索框架,本文仅仅介绍了针对集群的非常简单的 Restful 形式的 API 操作。这个仅仅是我们学习ElasticSearch的基础,相信本文过后也会激发我们继续深入ElasticSearch的脚步。相关文章推荐
- Elasticsearch简单使用系列--使用Rest API进行CRUD操作
- ElasticSearch 6.x 学习笔记:28.Java API之文档批量操作
- Elasticsearch学习笔记2----聚合操作及常见问题解决
- ElasticSearch学习笔记-JavaAPI操作记录
- Elasticsearch 5.6.5 基础笔记(二) - Restfull API 和 分布式特性
- Elasticsearch简单使用系列--使用Rest API进行CRUD操作
- elasticsearch5.6.4 RestClient 索引操作API详细的注释给力篇值得拥有
- ElasticSearch通过Rest Http API完成基本操作
- 《黑马程序员》java笔记->【02】数组的常见操作:遍历,排序,查找
- learning jQuery 学习笔记十三(+jQuery 1.4.1 API)-- DOM操作-基于命令改变页面 ----复制元素及其它
- learning jQuery 学习笔记十七(+jQuery 1.4.1 API)-- 表格操作----三色交替
- C语言 常见的文件操作函数 笔记
- 【菜鸟C++学习笔记】24. 常见的引用注意问题
- Java菜鸟学习笔记--配置篇(二):Ubuntu JDK环境变量配置与常见问题
- neo4j REST API 节点操作
- Java菜鸟学习笔记(3)--Java API 文档下载与文档注释的使用
- Java菜鸟学习笔记--配置篇(三):Java API 文档下载与文档注释的使用
- Java菜鸟学习笔记(1)--Windows JDK环境变量配置与常见问题
- Rest API 开发 学习笔记
- 菜鸟笔记之MFC文件操作