`
donlianli
  • 浏览: 340305 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
Group-logo
Elasticsearch...
浏览量:218496
社区版块
存档分类
最新评论

Elasticsearch一些基础概念理解

阅读更多

转载请标明出处:http://donlianli.iteye.com/blog/1905552

 

熟悉ES中的几个关键概念:

节点(Node):一个elasticsearch运行的实例,其实就是一个java进程。一般情况下,一台机器运行在一台机器上。

集群(Cluster): 好几个有相同集群名称的节点(Node)。

索引(Index):有点象数据库。

类型(Type):可以看做是数据库中的表

分片(Shard):就是一个lucene index。每个index都会划分成几个shard。每个shard可能是主shard或者是一个副本(replica)。

 

 

具体lucene我也不熟悉,但是反复读了3篇关于这些概念呢的解释,大概对ES的这些概念有了一点理解。

在ES中创建索引时(就相当于创建一个数据库),ES会默认为这个数据库创建5个分片,这5个分片都是主分片,每个分片又默认创建一个副本(replica)。当向这个数据库插入记录时,ES会根据内定规则,判断这个记录应该记录到哪个分片上。

再来说说replica。当只有一个es的节点时,默认replica是不存在的,ES只有发现有两台不同IP的ES实例时,才会创建副本(replica),其实这个副本也算一个shard。内容跟原来的shard完全一样,但是这个副本不会进行插入等操作。

 

每启动一个ES实例(即java进程)。ES会自动对分片进行重划分。当运行了两个ES实例,ES默认会将分片进行重平衡,比如启动了两个ES实例,则5个分片被不均衡的重分到两个实例上。最终其中一个实例上,有3个主分片。另外一个实例上,有2个主分片。另外还有一套副本,也被均分在这两个实例上,也就是说,两个实例共10个shard。如果你扩展到10个实例,那么,每个实例将只有一个shard。

 

以上只是个人理解。有理解不正确的地方,还请指出,谢谢!

 

参考资料:

http://stackoverflow.com/questions/15694724/shards-and-replicas-in-elasticsearch

http://stackoverflow.com/questions/12409438/when-do-you-start-additional-elasticsearch-nodes/12414123

http://elasticsearch-users.115913.n3.nabble.com/Shards-and-replicas-td2819984.html

 

对这类话题感兴趣?欢迎发送邮件至donlianli@126.com
关于我:邯郸人,擅长Java,Javascript,Extjs,oracle sql。
更多我之前的文章,可以访问 我的空间
2
1
分享到:
评论
3 楼 reinhardv 2013-07-16  
“当然,这5个分片的最终数据是一样的,也就是说,插入一条记录时,最终这条记录会从插入的那个shard同步至其他的几个shard。”,这个解释不太对吧,每个shard都是一个独立的分片,插入的文档只会存在于5个shard中的一个,这个5个主shard是为了做分布式处理的,如果都一样还怎么扩展处理能力?只有replica才会从primary shard上同步数据吧。
2 楼 donlianli 2013-07-15  
BuN_Ny 写道
Shard对应Lucene的Shard吧

不熟悉Lucene,哈哈。可能
1 楼 BuN_Ny 2013-07-15  
Shard对应Lucene的Shard吧

相关推荐

    Elasticsearch-深入理解索引原理

    Elasticsearch 中索引(Index)的概念是非常重要的,它是 Elasticsearch 存储数据的基本单元。索引是一个具有类似特性的文档的集合,类比传统的关系型数据库领域来说,索引相当于 SQL 中的一个数据库,或者一个数据...

    Elasticsearch入门(五):Elasticsearch基础概念与基本操作 文章中所用用到的 http 文件

    在Elasticsearch的世界里,理解基础概念和掌握基本操作是入门的关键。本篇文章将深入探讨这些知识点,并结合提供的`es.http`和`es_book.http`文件进行阐述。 首先,我们要了解Elasticsearch的核心概念: 1. **节点...

    深入理解ElasticSearch PDF

    首先,书中会介绍Elasticsearch的基本概念,包括它的核心组件、分布式架构以及索引和搜索的工作原理。读者将了解到Elasticsearch如何通过分片和副本实现高可用性和可扩展性,以及如何通过倒排索引来快速完成全文检索...

    Elasticsearch 开发手册

    Elasticsearch 基本概念: * 倒排索引:Elasticsearch 为什么快,核心设计理念就是采用了倒排索引机制。倒排索引的方式是,根据 content 分词后创建索引,索引后的存储方式为:index→docId→长→1,2→沙→1,2→汽...

    elasticsearch7.14.0.zip

    6. **HanLP自然语言处理库**:由北京大学开发的汉语文本处理库,提供了词性标注、命名实体识别、依存句法分析等功能,可以增强Elasticsearch对中文文本的理解和处理能力。 7. **插件安装与使用**:将插件源码导入到...

    《ElasticSearch入门到实战》电子书,从入门到进阶实战项目的教程文档,框架SpringBoot框架整合ES.zip

    **Elasticsearch 入门与...通过以上内容的学习,读者将能够全面了解 Elasticsearch 的核心概念和使用技巧,并具备在 SpringBoot 项目中整合 Elasticsearch 的能力,为实际工作中的数据存储、搜索和分析打下坚实基础。

    Elasticsearch顶尖高手系列课程-核心知识篇资料

    首先,Elasticsearch的基本概念是理解其运作机制的关键。它基于Lucene库,以分布式、RESTful方式工作,支持横向扩展,可以处理海量数据。"ES-核心知识篇(上半季)课件-1.rar"可能包含了关于Elasticsearch架构、索引...

    ElasticSearch官方测试数据

    Elasticsearch(ES)是一种流行的开源全文搜索引擎,它基于Lucene库构建,被广泛用于大数据分析、日志聚合、实时搜索和索引等场景。官方提供的测试数据集是检验Elasticsearch功能、性能和稳定性的关键资源,可以帮助...

    elasticsearch实战

    首先,本书的第一部分介绍了Elasticsearch的基本概念和安装方法。Elasticsearch是一个基于Lucene的搜索引擎,它提供了全文搜索功能。它的核心特性是弹性可伸缩,可以将数据分布到多个节点上,实现高可用和负载均衡。...

    ElasticSearch 基础教程,包括基本概念安装和配置的详细信息

    ### ElasticSearch 基础教程知识点详解 #### ElasticSearch 简介 ElasticSearch 是一个基于 Apache Lucene 开发的分布式搜索与分析引擎。它能够处理大量的结构化或非结构化数据,并提供高效的搜索与分析功能。由于...

    Elasticsearch技术解析与实战+Elasticsearch权威指南

    首先,我们需要理解Elasticsearch的基础概念。Elasticsearch是一种分布式、RESTful风格的搜索和数据分析引擎,其核心功能包括全文搜索、结构化搜索、实时分析等。它采用JSON文档格式存储数据,支持索引和搜索的近...

    Elasticsearch实战与原理解析 源代码.zip

    首先,我们要了解Elasticsearch的基本概念。它基于Lucene构建,但扩展了Lucene的功能,提供了一个集群化的、可扩展的、高可用的搜索和分析平台。Elasticsearch通过分片和复制机制实现了数据的分布存储,可以轻松处理...

    Elasticsearch权威指南高清中文版PDF

    这份高清中文版的指南是了解和掌握Elasticsearch的宝贵资料,它涵盖了从基础概念到高级用法的全方位内容。 1. **Elasticsearch基础知识** - **分布式特性**:Elasticsearch的核心优势之一是其分布式特性,支持多...

    最新版windows elasticsearch-7.15.2-windows-x86_64.zip

    Elasticsearch是一个开源的全文搜索引擎,它以其高效、可扩展性以及灵活性在IT行业中广泛应用...通过理解和掌握Elasticsearch的基本操作和高级特性,你可以充分利用它的潜力,为你的项目带来高效的搜索和数据分析能力。

    Elasticsearch基础教程:新手上路必备资料

    本教程涵盖了从Elasticsearch的基本概念、安装与配置,到数据索引、搜索基础、高级搜索技巧、性能优化、安全性设置、监控与维护等多个方面。学习者将通过本教程理解Elasticsearch的核心概念,学会如何高效地索引和...

    elasticsearch in action

    第一章介绍了Elasticsearch的基本概念、典型的使用场景、擅长的任务以及面临的挑战。通过本章的阅读,读者将能够判断Elasticsearch是否适合自己的需求,并了解能够从Elasticsearch中获得什么样的功能。此外,本章还...

    Elasticsearch 8.1.2 Linux版本

    **Elasticsearch 8.1.2 Linux 版本详解** ...Elasticsearch 8.1.2在Linux上的部署和使用,涉及了从基础概念理解、安装配置到实际操作的各个环节。通过深入学习和实践,可以充分发挥其在大数据环境中的搜索和分析能力。

    最新版linux elasticsearch-7.12.1-linux-x86_64.tar.gz

    Elasticsearch是一个开源的全文搜索引擎,它基于Lucene构建,被设计为分布式、 RESTful 风格的搜索和分析引擎。...安装和使用这个版本,需要理解其核心概念,掌握基本操作,并根据实际需求进行配置和优化。

Global site tag (gtag.js) - Google Analytics