ES采用json形式RESTFUL API接受数据并响应,操作起来极为简单,只需要使用postman即可。
3.1 查看集群的健康情况
GET /_cat/health?v
epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
1599841683 16:28:03 my-application green 1 1 0 0 0 0 0 0 - 100.0%
3.2 索引操作
3.2.1 查看集群中的索引
GET /_cat/indices?v
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
yellow open my_index LiwgtxiRRH68FyNW9GLe7A 1 1 0 0 230b 230b
3.2.2 创建索引
PUT /索引名称?pretty
这里pretty的作用是格式化返回的json串
{
"acknowledged": true,
"shards_acknowledged": true,
"index": "my_index"
}
3.2.3 删除索引
DELETE /索引名称?pretty
{
"acknowledged": true
}
3.3 帖子案例(CRUD)
3.3.1 创建帖子索引
PUT /article
{
"acknowledged": true,
"shards_acknowledged": true,
"index": "article"
}
3.3.2 创建文档(新增帖子)
语法
PUT /index/type/id
下面创建3条帖子
article/_doc/3
第一条
{
"title": "Java从入门到精通",
"red": 101,
"content": "Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程"
}
第二条
{
"title": "JavaEE从入门到入土",
"red": 50,
"content": "Java EE 是 J2EE的一个新的名称,之所以改名,目的还是让大家清楚J2EE只是Java企业应用。在2004年底中国软件技术大会Ioc微容器(也就是Jdon框架的实现原理)演讲中指出:我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本"
}
第三条
{
"title": "PHP从入门到精通",
"red": 50,
"content": "众所周知,PHP是世界上最好的语言"
}
3.3.3 检索文档(查询帖子)
语法
GET /index/type/id
字段含义
{
"_index": "article",
"_type": "_doc",
"_id": "1",
"_version": 1,
"_seq_no": 0,
"_primary_term": 1,
"found": true,
"_source": {
"title": "Java从入门到精通",
"red": 101,
"content": "Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程"
}
}
- _index:该文档属于哪个索引
- _type:相当于表。ES一直在弱化type,现在的type实际上都是_doc。ES9之后将彻底删除type
- _id:文档的唯一标识,相当于主键。可以手动生成,也可以自动
- _seq_no:递增的序列号,保证每次操作都比前一次大
- _version:版本号,表示该数据被修改了多少次
- found:是否查询到
- _primary_term:当分片重新选举时,+1
- _source:查询的数据
3.3.4 替换文档(修改帖子)
所谓替换文档,就是将整个文档的内容全部替换成新内容。替换操作不需要字段对应上,因为是完全替换的
语法
PUT /index/type/id
{
"title": "PHP从入门到跑路"
}
3.3.5 修改文档(修改帖子)
所谓修改文档,就是修改文档中的某个字段。
语法
POST /index/type/id/_update
update操作不能直接指定字段,而是需要在外面包一层 doc
{
"doc" : {"name":"PHP从入门到跑路2"}
}
3.3.6 删除文档(删除帖子)
语法
DELETE /index/type/1
article/_doc/4
海报
0 条评论
197
相关文章
本站已关闭游客评论,请登录或者注册后再评论吧~