Affects Version/s: None
Fix Version/s: None
Component/s: clients - java
some days ago,I put a question that "why it gets slower while keep on increasing the start value accross distributed search ?".
And one reply by Shalin Shekhar Mangar was "distributed search fetches start+rows documents from each shard in order to correctly merge the results".
After this I read the source code,and I found query across distributed search would be separated into nshards' query.
Each shard query will be excute as follows:
1.get ids of matched documents into DocList //take little time
2.get all documents by id which result in step 1. //take little time
3.write all the documents found to binary string
4.parse the binary string back to SolrDocumentList // step 4 take almost all the time used
From above,I propose :It is not necessary to execute step 3 and step 4 even step 2,the ids found is enough to merge results,isn't it?