ElaticSearch学习记录(二)-基本概念

ElaticSearch概念

       简称ES,是一个基于Apache Lucene™的开源搜索引擎。Lucene被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。Lucene只是一个方法库,想要发挥这个方法库的作用,需要你将该库集成到你的应用中。我们自己去集成Lucene实现一个搜索引擎,代价是巨大的,而且我们也没有那么NB,所以我们就要找一个已经集成了Lucene的成型的工具。比如:Elasticsearch、Solr,二者对比之后,还是Elasticsearch更方便和强悍一些,所以我们选择Elasticsearch。

       ES是一个开源的高扩展的分布式全文检索引擎,它可以实现近乎实时的存储和检索数据。由于ES本身的扩展性很好,可以被扩展到上百台服务器中,用于处理PB级别(大数据)的数据。ES是使用Java开发的基于Lucene库为核心来实现索引和搜索功能的。因为直接使用Lucene库比较复杂,而ES就是为了隐藏Lucene的复杂性,通过简单的RESTful API就可以实现全文检索功能。

索引(Index)

       索引是具有某些类似特征的文档的集合。比如:在一个学生管理系统中,可以有学生的一个索引,有老师的一个索引,每一个索引都是一个数据的一个集合。索引是通过索引名称来区分的。可以把索引理解成为MySql数据库中的库的概念,比如,学生库,老师库,图书库等等。

类型(Type)

       类型是索引的逻辑类型/分区,允许你在同一个索引中通过类型区分来存储不同的文档信息。类别MySql数据库可以理解为一个学生库里有学生信息表,学生成绩表等等。

Type现在ES中已经有了一些默认值,慢慢会被弃用。

文档(Document)

       文档是可以建立索引的基本信息单元。从字面上理解,就是一个文档,一条数据,一条学生的基本信息。

字段(Field)

       字段也就是文档中的属性。比如一个文档中会有多个属性值,一条学生信息中会包含学生的姓名、性别、出生日期、联系电话等,每一个都是一个字段。

       索引、类型、文档、字段的基本概念已经了解了,它们的关系是一个ES节点中可以包含多个索引,一个索引中可以有多种类型,一种类型中可以包含多个文档,一个文档中存在多个字典。类别MySql数据库是,一个MySql服务中有多个库,一个库中有多个表,一个表中有多条数据,一条数据中有多个字段。

上面将的基本概念是一个ES服务器中的小概念,下面介绍ES的一个大一点的概念。

集群(Cluster)

ES的集群搭建非常容易,它不需要依赖第三方软件,ES自身就实现了集群的管理功能,所以当你将本地ES服务启动之后,ES已经是一个集群了,只是这个集群中只有一个节点,也就是自己,基本的默认名字是"elasticsearch"。ES集群是由一个或多个Elasticsearch节点组成,一个ES服务启动实例就是一个节点(Node),每个节点通过配置文件将 cluster.name 配置相同的名字,即可加入到集群中,如果不设置 cluster.name 名称,则ES启动时会给节点分配一个随机通用唯一标识符作为名称。

在同一个集群中的ES节点,他们协同工作,共享数据并提供故障转移和扩展功能。

节点

分片

副本

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值