ElasticSearch,和Solr一样,是底层基于Apache Lucene,且具备高可靠性的企业级搜索引擎。
ElasticSearch中的一些概念其实和关系型数据库都有对应关系,比如数据库在ES中被称为索引,表在ES中被称作Type。
具体对应关系见下表。
ElasticSearch中的Replica是副本的意思,创建副本的好处有两个,1,可以分流部分查询请求,2,如果集群中的某个分片丢失了,就可以使用这个副本将数据全部找回来,因为这个原因,副本分片和源分片不会放在同一节点上。 ES中每一个索引都可以被分成多个分片,但不一定每个分片都有副本,但是一旦创建了副本,就会有主分片的说法(作为复制源的分片),分片和副本的数量可以在索引创建的时候指定。下图是副本和分片的示意图,分片和它的副本不会在同一个节点上。
在索引创建之后,你可以在任何时候动态地改变副本的数量,但是你事后不能改变分片的数量。 默认情况下,Elasticsearch中的每个索引被分片5个主分片和1套副本,这意味着,如果你的集群中至少有两个节点,你的索引将会有5个主分片和另外5个副本,这样的话每个索引总共就有10个分片。
当ES的一个节点启动后,它会通过广播方式找到集群中的其他节点,并且建立连接。
在集群中,其中的某个节点会被选取作为主节点,这个主节点负责管理集群状态。这个主节点对于用户来说是透明的,用户不需要知道哪个节点是主节点。任何操作都可以发送到任何节点。必要的时候,任何节点可以并行的发送子查询到其他节点,并且将得到的响应合并后发送给用户,这些操作都不需要访问主节点。
主节点读取集群信息,在读取过程中,它会检测分片的情况,哪些分片是主分片,并且是可用的,在这一步之后,所有的分片已经准备好了,而副本还没有。下一步的操作就是找到那些已经被复制过的分片,将他们作为副本。如果一切顺利,那么ES启动成功了,所有的分片和副本都已经准备好了。
在ES工作的时候,主节点会监控所有的节点是否正常,默认配置为:节点每隔1s主节点会发送1次心跳,超时时间为30s,测试次数为3次,超过3次,则认为该节点同主节点已经脱离了。如果某一个节点出现问题,ES认为这个节点损坏,该节点会从集群中删除,并且ES会重新平衡整个集群。
ES通过Query DSL (基于json的查询语言)来查询数据,在ES内部,每次查询分成2个步骤,分散和聚合,分散是指查询所有相关的分片,聚合是指把所有分片上的查询结果合并,排序,处理然后在返回给客户端。
ElasticSearch 有4中方式来构建数据库,最简单的方法是使用index API,将一个Document发送到特定的index,一般通过curl tools实现。第二第三种方法是通过bulk API和UDP bulk API。两者的区别仅在于连接方式。第四种方式是通过一个插件-river。river运行在ElasticSearch上,并且可以从外部数据库导入数据到ES中。需要注意的是,数据构建仅在分片上进行,而不能在副本上进行。
Vagrant 和 Docker:如何在 OS X 上安装和设置 Postgres, Elasticsearch 和 Redis http://www.linuxidc.com/Linux/2014-09/106898.htm
分布式搜索ElasticSearch单机与服务器环境搭建 http://www.linuxidc.com/Linux/2012-05/60787.htm
ElasticSearch 的详细介绍 :请点这里
ElasticSearch 的下载地址 :请点这里
相关推荐
词库扩展性:elasticsearch-analysis-ik 采用了可扩展的词库机制。用户可以根据自己的需求,定制和扩展词库,添加新的词汇,从而实现更好的分词效果。 多种分词模式:elasticsearch-analysis-ik 支持多种分词模式,...
根据提供的文件信息,我们可以推断出本篇文章将围绕Elasticsearch 6.2.2版本进行详细介绍,包括其下载方式、主要功能特性以及在实际应用中的常见用途。 ### Elasticsearch简介 Elasticsearch是一款基于Lucene的...
2. **下载安装包**:这里的"es安装包"即为Elasticsearch的安装文件,通常是一个zip或tar.gz格式的压缩包。你需要从官方网站或者镜像站点下载对应版本的安装包,确保与你的系统兼容。 3. **解压安装**:下载完成后,...
在数据抽取 ELT 领域,ES 全家桶 ELK(Elasticsearch+Logstash+Kibana)赫赫有名。 Elasticsearch 基本概念: * 倒排索引:Elasticsearch 为什么快,核心设计理念就是采用了倒排索引机制。倒排索引的方式是,根据 ...
**Elasticsearch 入门与...通过以上内容的学习,读者将能够全面了解 Elasticsearch 的核心概念和使用技巧,并具备在 SpringBoot 项目中整合 Elasticsearch 的能力,为实际工作中的数据存储、搜索和分析打下坚实基础。
2. **倒排索引**:Elasticsearch使用倒排索引机制进行快速的全文搜索,将每个词项指向包含该词的文档集合,而不是将每个文档指向其包含的词项,大大提升了搜索效率。 3. **RESTful API**:Elasticsearch采用HTTP和...
这个插件的界面简洁,功能强大,极大地提高了Elasticsearch使用者的工作效率。 **二、安装与使用** 1. **安装步骤** - 首先,从官方或者可靠的源下载`0.1.5_0.crx`文件,这是Elasticsearch Head插件的安装包。 -...
- Kibana是Elasticsearch的数据可视化工具,与Elasticsearch协同工作,提供友好的界面。同样解压Kibana的Windows版本,并配置相应的Elasticsearch连接信息。 5. **数据导入与索引管理**: - 使用`bin/elastic...
- **分布式架构**:Elasticsearch 可以在多台机器上运行,通过分片和复制机制实现数据的分布存储和故障恢复,提供高可用性。 - **RESTful API**:Elasticsearch 使用 JSON 格式的 HTTP 接口,符合 RESTful 风格,...
Elasticsearch是一个开源的全文搜索引擎,广泛应用于大数据分析和实时搜索场景。它的最新版本为7.14.0,这是专为Linux x86_64架构设计的。在这个版本中,Elasticsearch提供了一系列增强的功能和性能优化,旨在提高...
5. **安全设置**:Elasticsearch 8.x版本默认启用安全机制,需配置用户和权限,如使用x-pack或Opensearch Security。 ### 三、API操作 Elasticsearch提供RESTful API,支持HTTP协议进行操作,如创建索引、插入文档...
Elasticsearch是一个开源的全文搜索引擎,它以分布式、RESTful接口和实时性为特点,广泛应用于数据搜索、...通过阅读和实践这些源代码,你将能够更好地理解Elasticsearch的工作机制,从而在实际项目中更高效地使用它。
7. **错误处理和日志**:ElasticSearch Head需要升级错误处理机制,以适配Elasticsearch 7.0的错误结构和响应格式,同时提供友好的用户反馈。 8. **多租户支持**:Elasticsearch 7.0可能对多租户环境提供了更好的...
Elasticsearch(ES)是一款功能强大的全文搜索引擎,广泛应用于数据检索、数据分析等领域。为了提高搜索的准确性和便利性,Elasticsearch提供了丰富的分析插件,其中"elasticsearch-analysis-dynamic-synonym-7.2.0...
"ElasticSearch实战教程" ElasticSearch是一款分布式、RESTful 风格的搜索和数据分析引擎,能够达到近实时搜索,稳定,可靠,快速,安装使用方便。客户端支持Java、.NET(C#)、PHP、Python、Ruby等多种语言。 ...
- **内置安全特性**:Elasticsearch 7.2.0进一步加强了内置的安全机制,例如支持细粒度访问控制(FGAC),这有助于管理员更加精确地管理用户的访问权限。 - **身份验证与授权**:增强了对多种身份验证方式的支持,...
Elasticsearch采用倒排索引机制,使得数据一旦被索引,即可立即进行搜索,实现近乎实时的搜索体验。这种高效检索能力对于大数据量的应用场景尤其重要。 **3. RESTful API** Elasticsearch通过简单易用的RESTful API...