开发者学堂课程【SpringBoot 实战教程: Elasticsearch 实现数据的存储和检索】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/651/detail/10822
Elasticsearch 实现数据的存储和检索
内容介绍:
一、在 Elasticsearch 中存储数据
二、从 Elasticsearch 中检索文档
一、在 Elasticsearch 中存储数据
1、在 Elasticsearch 中,所有的数据,都以文档的形式存储,也就是阶层格式的文档,每个文档都有定义好的索引和类型。每个文档可以包含一个或多个字段来保存数据。
2、左边一个大括号,属性名,属性值,但是需要注意 Elasticsearch 中每一个文档,它是属于某一种类型的,user 是类型的名字,每个类型属于一个索引,Elasticsearch 是以索引的形式进行数据的存储,索引可以分为多种类型,每个类型下面可以包含多个文档,以下是其中一个,示例使用的是 curl 写的代码。3指的是id,要添加的是人,称之为用户,3就是当前添加用户的 id,最终是文档的格式, user 属于某一种类型,类型属于某一个索引,索引可以有多个类型,以这个形式进行数据的存储。
3、在 sence 中,输入如下的 curl 请求代码:
curl-XPUT'192.168.25.129:9200/userindex/user/3?pretty'-d'
{
"first_name":"Douglas",
"last_name":"Fir",
"age":23,
"about":"Iliketobuildcabinets",
"interests":["forestry"]
}'
借助一个工具进行实现,下载安装 sence,它就是浏览器中的一个插件,安装好之后就可以在浏览器中出现右上角的标志,点击它就进入 sence
使用 curl 代码向 Elasticsearch 中添加数据,这里已经添加了两个,一个是 john,一个还是 jane,比如再添加一个,把以上代码进行拷贝,在左边进行粘贴即可,这就是要添加用户的阶层数据,user 是阶层数据所属的类型,userindex 是这个类型所属的索引,put 添加数据,右边有一个三角,点击执行,右边会有相应的 index。
{
"_ index": "userindex" ,
索引
" type": "user",
类型名字
"_ id": "3" ,
用户ID
'_ version": 1 ,
" shards":
{
"total": 2 ,
"successful": 1 ,
成功添加
"failed": e
}
" created": true
创建成功
}
这个用户已经添加到 Elasticsearch 的搜索引擎中。
二、从 Elasticsearch 中检索文档
如果要检索某个数据,也可以用 sence,比如要查找 ID 是1的,之前添加过两个,一个 ID 是1,一个 ID 是2,这里要查找 ID 是1的,同样用 curl 代码进行实现。
在 sence 中,输入如下的 curl 请求代码
curl-XGET"http://192.168.25.129:9200/userindex/user/1"
因为要查找数据,所以不是 put,是 get,查找时要指明索引,要指明类型的名字,因为要查找案例是1的,再指明 ID,按绿色三角,即可查出。
搜索所有用户:
curl-XGET"http://192.168.25.129:9200/userindex/user/_search"
代表查询所有,查询 userindex 索引下,user 类型下的所有文档。
执行可以查询出三个。total 是3,id 是1的是 john,id 是2的是 jane,id 是3的是 douglas。
查询符合某个条件的,类似于数据库,类似 sql 语句。
curl-XGET"http://192.168.25.129:9200/userindex/user/_search?q=age:32"
用 q 指明查询的条件,后面就是条件,比如查询年龄是32岁的,只有 jane 是32岁的,所以条件首先是属性名,也称为字段名,冒号查询值,点击执行,就可以查询出 jane 年龄32岁。
这就是在 Elasticsearch 中如何实现数据的存储和检索。