失效链接处理 |
ElasticSearch 技术原理与大规模数据运l实战面试宝?PDF 下蝲
相关截图Q?/strong>
![]() 主要内容Q?/strong>
1?/strong>elasticsearch 了解多少Q说说你们公?/strong> es 的集架
构,索引数据大小Q分片有多少Q以及一些调优手D??/strong>
面试官:想了解应聘者之前公司接触的 ES 使用场景、规模,有没有做q比较大规模的烦引设计、规
划、调优?/span>
解答Q如实结合自q实践场景回答卛_?/span>
比如Q?/span>ES 集群架构 13 个节点,索引Ҏ(gu)通道不同?/span> 20+索引Q根据日期,每日递增 20+Q烦引:10
分片Q每日递增 1 ?/span>+数据Q每个通道每天索引大小控制Q?/span>150GB 之内?/span>
仅烦引层面调优手D:
1.1、设计阶D调?/strong>
Q?/span>1Q根据业务增量需求,采取Z日期模板创徏索引Q通过 roll over API 滚动索引Q?/span>
Q?/span>2Q用别名进行烦引管理;
Q?/span>3Q每天凌晨定时对索引?/span> force_merge 操作Q以释放I间Q?/span>
Q?/span>4Q采取冷热分LӞ热数据存储到 SSDQ提高检索效率;h据定期进?/span> shrink操作Q以~减?/span>
储;
Q?/span>5Q采?/span> curator q行索引的生命周期管理;
Q?/span>6Q仅针对需要分词的字段Q合理的讄分词器;
Q?/span>7Q?/span>Mapping 阶段充分l合各个字段的属性,是否需要检索、是否需要存储等?/span>……..
1.2、写入调?/strong>Q?/span>1Q写入前副本数设|ؓ 0Q?/span>
Q?/span>2Q写入前关闭 refresh_interval 讄?/span>-1Q禁用刷新机Ӟ
Q?/span>3Q写入过E中Q采?/span> bulk 扚w写入Q?/span>
Q?/span>4Q写入后恢复副本数和h间隔Q?/span>
Q?/span>5Q尽量用自动生成的 id?/span>
1.3、查询调?/strong>
Q?/span>1Q禁?/span> wildcardQ?/span>
Q?/span>2Q禁用批?/span> termsQ成百上千的场景Q;
Q?/span>3Q充分利用倒排索引机制Q能 keyword cd量 keywordQ?/span>
Q?/span>4Q数据量大时候,可以先基于时间敲定烦引再索;
Q?/span>5Q设|合理的路由机制?/span>
1.4、其他调?/strong>
部v调优Q业务调优等?/span>
上面的提及一部分Q面试者就基本对你之前的实跉|者运l经验有所评估了?/span>
2?/strong>elasticsearch 的倒排索引是什?/strong>
面试官:想了解你对基概念的认知?/span>
解答Q通俗解释一下就可以?/span>
传统的我们的索是通过文章Q逐个遍历扑ֈ对应关键词的位置?/span>
而倒排索引Q是通过分词{略QŞ成了词和文章的映关p表Q这U词?/span>+映射表即为倒排索引。有?/span>
倒排索引Q就能实?/span> oQ?/span>1Q时间复杂度的效率检索文章了Q极大的提高了检索效率?/span>
|