阿里内部资料,10W字总结JAVA面试题-ElasticSearch篇
目录
1、谈谈分词与倒排索引的原理
3、谈谈你对段合并的策略思想的认识
4、了解文本相似度 TF-IDF吗
5、能说说ElasticSearch 写索引的逻辑吗?
6、熟悉ElasticSearch 集群中搜索数据的过程吗?
7、了解ElasticSearch 深翻页的问题及解决吗?
8、熟悉ElasticSearch 性能优化
9、ElasticSearch 查询优化手段有哪些?
10、elasticsearch 是如何实现 master 选举的?
11、elasticsearch 索引数据多了怎么办,如何调优,部署?
12、说说你们公司 es 的集群架构,索引数据大小,分片有多少?
13、什么是ElasticSearch?
14、ElasticSearch中的集群、节点、索引、文档、类型是什么?
15、ElasticSearch中的分片是什么?
16,ElasticSearch中的副本是什么?
19,ElasticSearch中的分析器是什么?
20,什么是ElasticSearch中的编译器?
21,什么是ElasticSearch中的过滤器?
22,启用属性,索引和存储的用途是什么?
1、谈谈分词与倒排索引的原理
首先说分词是给检索用的。
英文:一个单词一个词,很简单。I am a student,词与词之间空格分隔。
中文:我是学生,就不能一个字一个字地分,我-是-学生。这是好分的。还有歧义的,使用户 放心,使用-户,使-用户。人很容易看出,机器就难多了。所以市面上有各种各样的分词器, 一个强调的效率一个强调的准确率。
倒排索引:倒排针对的是正排。
- 正排就是我记得我电脑有个文档,讲了 ES 的常见问题总结。那么我就找到文档,从上往下翻页,找到 ES 的部分。通过文档找文档内容。
- 倒排:一个 txt 文件 ES 的常见问题 -> D:/分布式问题总结.doc。
所以倒排就是文档内容找文档。当然内容不是全部的,否则也不需要找文档了,内容就是几个分词 而已。这里的 txt 就是搜索引擎。
2、说说分段存储的思想
Lucene 是著名的搜索开源软件,ElasticSearch 和 Solr 底层用的都是它。分段存储是 Lucene 的思想。
早期,都是一个整个文档建立一个大的倒排索引。简单,快速,但是问题随之而来。
文档有个很小的改动,整个索引需要重新建立,速度慢,成本高,为了提高速度,定期更新那么时 效性就差。
现在一个索引文件,拆分为多个子文件,每个子文件是段。修改的数据不影响的段不必做处理。
3、谈谈你对段合并的策略思想的认识
分段的思想很大的提高了维护索引的效率。但是随之就有了新的问题。
每次新增数据就会新增加一个段,时间久了,一个文档对应的段非常多。段多了,也就影响检索性 能了。
检索过程:
- 查询所有短中满足条件的数据
- 对每个段的结果集合并
所以
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
