# 第4章 探究分布式索引架构
<div style="text-indent:2em">
在前面的章节里,我们已经学习了如何使用不同的打分公式,也了解了使用这些打分公式的好处。我们也学习了何如使用不同的倒排表结构来改变索引数据的方式。此外,我们也学习了自如应用近实时搜索和数据实时获取(real-time GET),了解了检索器(searcher)重启(reopen)背后的意义。我们也探讨了多语言数据的处理,也学习了配置事务日志来实现业务需求。最后,我们学习段合并(segments merging)、合并策略和合并任务执行计划相关的知识。在本章,读者将了解如下的知识:
<ul>
<li>如何为集群选择合适的分片(shard)和分片副本(replica)的数量</li>
<li>路由是什么,路由对ElasticSearch起着什么样的作用</li>
<li>ShardAllocator是如何工作的,如何配置它</li>
<li>如何根据业务需求来调整分片分发机制</li>
<li>如何选择合适的分片来执行相关的命令</li>
<li>如何结合现有的知识配置一个真实业务场景的群集</li>
<li>数据和搜索并发量增长时如何应对</li>
</ul>
</div>
- 前言
- 第1章 认识Elasticsearch
- 认识Apache Lucene
- 熟悉Lucene
- 总体架构
- 分析你的文本
- Lucene查询语言
- 认识 ElasticSearch
- 基本概念
- ElasticSearch背后的核心理念
- ElasticSearch的工作原理
- 本章小结
- 第2章 强大的用户查询语言DSL
- Lucene默认打分算法
- 查询重写机制
- 重排序
- 批处理
- 查询结果的排序
- Update API
- 使用filters优化查询
- filters和scope在ElasticSearch Faceting模块的应用
- 本章小结
- 第3章 索引底层控制
- 第4章 探究分布式索引架构
- 选择恰当的分片数量和分片副本数量
- 路由功能浅谈
- 调整集群的分片分配
- 改变分片的默认分配方式
- 查询的execution preference
- 学以致用
- 本章小结
- 第5章 管理Elasticsearch
- 选择正确的directory实现类——存储模块
- Discovery模块的配置
- 索引段数据统计
- 理解ElasticSearch的缓存
- 本章小结
- 第6章 应对突发事件
- 第7章 优化用户体验
- 第8章 ElasticSearch Java API
- 第9章 开发ElasticSearch插件