ES简介
ES即ElasticSearch的缩写,它是Apache旗下基于Lucene开发的一款搜索引擎。应用于大数据场景,支持对PB级数据进行检索,初学者可以将它当作一款数据库来了解和认识。
ES核心概念
1. 索引
ES将数据存储于一个或多个索引中,索引是具有类似特性的文档的集合。类比传统的关系型数据库领域来说,索引相当于SQL中的一个数据库,或者一个数据存储方案(schema)。索引由其名称(必须为全小写字符)进行标识,并通过引用此名称完成文档的创建、搜索、更新及删除操作。一个ES集群中可以按需创建任意数目的索引。
2.类型
类型是索引内部的逻辑分区(category/partition),然而其意义完全取决于用户需求。因此,一个索引内部可定义一个或多个类型(type)。一般来说,类型就是为那些拥有相同的域的文档做的预定义。例如,在索引中,可以定义一个用于存储用户数据的类型,一个存储日志数据的类型,以及一个存储评论数据的类型。类比传统的关系型数据库领域来说,类型相当于“表”。
3.文档
文档是Lucene索引和搜索的原子单位,它是包含了一个或多个域的容器,基于JSON格式进行表示。文档由一个或多个域组成,每个域拥有一个名字及一个或多个值,有多个值的域通常称为“多值域”。每个文档可以存储不同的域集,但同一类型下的文档至应该有某种程度上的相似之处。
4.分片
ES的“分片(shard)”机制可将一个索引内部的数据分布地存储于多个节点,它通过将一个索引切分为多个底层物理的Lucene索引完成索引数据的分割存储功能,这每一个物理的Lucene索引称为一个分片(shard)。每个分片其内部都是一个全功能且独立的索引,因此可由集群中的任何主机存储。创建索引时,用户可指定其分片的数量,默认数量为5个。
分片之所以重要,主要有两方面的原因:
- 允许你水平分割/扩展你的内容容量
- 允许你在分片(潜在地,位于多个节点上)之上进行分布式的、并行的操作,进而提高性能/吞

本文介绍了ElasticSearch的基础概念,包括索引、类型、文档、分片和副本,强调了分片和副本在扩展性和高可用性中的作用。接着,详述了Windows环境下ElasticSearch的便捷安装步骤,强调了需要预先配置Java环境。同时,提到了ElasticSearch的官方下载地址,并展示了安装后的启动和验证方式。此外,文章还推荐了ElasticSearch的图形化管理工具elasticsearch-head的下载和安装,解决跨域问题的方法。最后,简单提及了Kibana的下载和运行方式,以及其默认端口。
最低0.47元/天 解锁文章
1513

被折叠的 条评论
为什么被折叠?



