Java最新突击面试笔记总结—ElasticSearch面试内容
搜索引擎面试题 题目和解答来自于中华石杉和自己整理总结而得,希望能够有所帮助。 搜索引擎主要考察ElasticSearch 以及对应底层的Lucene技术。 主要面试题集中于: es分布式架构原理 es的插入与查询 es在数据量很大的情况下如何提高性能 es在生产集群的部署架构是什么,每个索引有多大的数据量,每个索引有多少分片 1. es分布式架构原理 首先需要明白es是如何存储数据的,es把对应的数据转换为index。基于倒排索引的方式,每个index上存储了多个type类型,每个type对应一个document。而一个index会被分成多个shard(默认是5个)。 在分布式部署时,每个shard会被复制,即一个shard有primary和replica 每个es进程存储的是不同shard的primary和replica。es集群多个节点,会自动选举一个节点为master节点,这个master节点其实就是干一些管理的工作的,比如维护索引元数据拉,负责切换primary shard和replica shard身份拉,之类的。 2. es的数据写入与读取 2.1 es数据的写入 2.1.1 es数据的写入过程 注意,客户端是可以在任意节点进行写入数据的,与Kakfa不同。 1)客户端选择一个node发送请求过去,这个node就是coordinating node(协调节点) 2