(这个是solr官方文档的描述, 分布式索引这块的源代码我还没有读)
本文主要是讲分布式查询的过程, 思路来源于我对于solr源码的阅读与理解....参数, 传的是20个文档IDS中在当前分片的子集IDS, FL参数直接指定为真实要获取的字段....然而这两次请求中间是有一个时间窗口的, 在这个时间窗口里, 各分片的索引可能会发生改变, 比如在获取ids阶段根据termA召回了一个文档1, 然后在获取文档1的返回字段的时候, 可能文档1已经被更新了...类似的情况还有可能在获取ids阶段召回了文档1, 但是在获取字段阶段, 文档1已经被删除了. 类似的问题其实是需要在两次请求的时候维护每个分片索引的一致性的, 目前solr没有做....通过这次学习solr分布式搜索的相关源码以及阅读solr开发者当时的设计文档, 深深感受到了在工程上: Done is better than perfect.
ref
https://cwiki.apache.org