从作用上, replica主要是做负载均衡/容灾, 本质就是把一个服务器复制N份, 然后将请求均匀分发到N个服务器上....在SolrCloud中, shard和replica是配合使用的, 比如一个collection可以分3个shard, 然后每个shard可以分2个replica, 每个replica对应的就是一份lucene...补全字段阶段的想法是非常直观的, 因为要返回的20个文档分散在3个分片中, 因此先把20个文档ID按所在的shard分3组, 然后分别向3个ShardNode异步发送3个请求, 这次每个请求直接指定了IDS...当前设计的缺陷
分阶段获取过程中的索引一致性问题: 目前的分布式查询分了两个阶段, 阶段1发起第一次请求从各分片获取TopN ids, 阶段2合并所有分片ids后再发起第二次请求去各分片获取要返回的字段...类似的问题其实是需要在两次请求的时候维护每个分片索引的一致性的, 目前solr没有做.