前言
本章讲解ElasticSearch的基本概念
方法
1.概念
为了以后我们能够更加理解ES的数据存储结构,我们有必要学习它的基本概念
2.ES的基本概念
1)索引(Index)
索引是具有类似特性的文档的集合,相当于SQL中的一个表。索引由其名称(必须为全小写字符)进行标识,并通过引用此名称完成文档的创建、搜索、更新及删除操作。
ES可以把索引放在一台机器上或者分散在多台机器上,每个索引有一个或多个分片,每个分片可以有多个副本。
2)文档(Document)
它是存储在ES中的主要实体,索引的原子单位,基于JSON格式进行表示,包含了一个或多个域(Field)的容器,相当于关系数据库表中的一行数据。
文档可以分为多种类型,每种类型的结构可以不同,这是后面的文档类型。
3)文档类型(Type)
我们知道,一个索引库可以有多个文档,但是在ES中,一个索引库中存储的文档是可以有不同的类型的。
比如,博客系统索引库可以存储文章类型的文档和评论类型的文档,不同类型的文档可以有不同的结构
注意:不同的文档类型不能为相同的属性设置不同的类型!
4)映射(Mapping)
所有的文档在写进索引之前都需要进行分析。如何将输入的文本分隔为词条,哪些词条又会被过滤,这种行为叫做映射,一般由用户自己定义相应的规则。
3.简单的测试一下
上面说了这么多,可能大家还是不清楚,下面进行简单的实际操作帮助大家理解。
1)创建索引
我们创建一个名字叫jwang_test的索引,这需要我们打开之前的header组件:
点击索引选项卡,单机新建索引
创建好之后,我们会发现这条索引:
此刻显示docs为0,证明索引中还没有文档。
2)创建文档
创建文档我们需要借助postman来进行相关的一个操作:
URL规则:POST /{索引}/{索引类型}/{id}
post http://localhost:9200/jwang_test/user/1001
数据:
{
"id":"1001",
"name":"张三",
"age":"23 ",
"sex":"男"
}
点击Send按钮发送请求,这时我们可以发现ES给我们返回了添加成功的信息:
这个时候我们再次使用header插件进行观察:
基本的操作大致就是如此!