ElasticSearch搜索引擎核心概念和面试题总结

1 下载量 83 浏览量 更新于2024-08-03 收藏 303KB PDF 举报
ElasticSearch搜索引擎常见面试题总结 ElasticSearch是基于Lucene的Restful的分布式实时全文搜索引擎,每个字段都被索引并可被搜索,可以快速存储、搜索、分析海量的数据。下面是ElasticSearch搜索引擎常见面试题总结: 一、ElasticSearch基础: 1. 什么是Elasticsearch? Elasticsearch是基于Lucene的Restful的分布式实时全文搜索引擎,每个字段都被索引并可被搜索,可以快速存储、搜索、分析海量的数据。 2. Elasticsearch的基本概念: (1)index索引:索引类似于mysql中的数据库,Elasticesearch中的索引是存在数据的地点,包含了一个堆有相似结构的文档数据。 (2)type类型:类型是用来定义数据结构,可以认为是mysql中的一张表,type是index中的一个逻辑数据分类。 (3)document文档:类似于MySQL中的一行, khác之处在于ES中的每个文档可以有不同的字段,但是对于通用字段应该具有相同的数据类型,文档是es中的最小数据单元,可以认为一个文档就是一条记录。 (4)Field字段:Field是Elasticsearch的最小单位,一个document里有多个field。 (5)shard分片:单台机器无法存储大量数据,es可以将一个索引中的数据切分为多个shard,分布在多台服务器上存储。有了shard就可以横向扩展,存储更多数据,让搜索和分析等操作分布到多台服务器上去执行,提升吞吐量和性能。 (6)replica副本:任何一个服务器随时可能故障或宕机,此时shard可能会丢失,因此可以为每个shard创建多个replica副本。replica可以在shard故障时提供备用服务,保证数据不丢失,多个replica还可以提升搜索操作的吞吐量和性能。 3. 什么是倒排索引? 在搜索引擎中,每个文档都有一个对应的文档ID,文档内容被表述为一系列关键词的集合。例如,某个文档经过分词,提取了20个关键词,每个关键词都会记录其在文档中的出现次数和位置。当查询时,根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。 四、Elasticsearch的索引机制: Elasticsearch的索引机制是基于倒排索引的。倒排索引是将文档中的关键词和其出现的次数、位置记录在一起,以便快速地检索文档。Elasticsearch的索引机制可以快速地存储、搜索、分析海量的数据。 五、Elasticsearch的数据存储: Elasticsearch的数据存储是基于文档的,每个文档都是一个独立的数据单元。文档可以有不同的字段,但是对于通用字段应该具有相同的数据类型。Elasticsearch的数据存储机制可以快速地存储和检索海量的数据。 六、Elasticsearch的搜索机制: Elasticsearch的搜索机制是基于倒排索引的。倒排索引是将文档中的关键词和其出现的次数、位置记录在一起,以便快速地检索文档。Elasticsearch的搜索机制可以快速地搜索海量的数据。 Elasticsearch是基于Lucene的Restful的分布式实时全文搜索引擎,可以快速地存储、搜索、分析海量的数据。Elasticsearch的索引机制、数据存储机制和搜索机制都是基于倒排索引的,可以快速地存储和检索海量的数据。