: I had a similar requirement in my project, where a user might ask for up : to 3000 results. What I did was change SolrIndexSearcher.doc(int, Set) : to retrieve the unique key from the field cache instead of retrieving it : as a stored field from disk. This resulted in a massive speed : improvement for these requests (like 10x if I recall correctly).
There was another discussion about this idea for phrase #1 of distributed search a while back... http://osdir.com/ml/solr-user.lucene.apache.org/2011-07/msg00812.html ...but no one worked up a generalized patch - part of the issue is that it doesn't make sense in all cases, because the overhead of building the FieldCache for a unique key may be worse the the overhead of reading teh stored fields -- it depends on the pain points of the particular instance. (and as ryan points out: the new per field codec work + the memory codec might aleviate some of hte pain w/o needing any code changes here) If folks are intersted in working up a patch to make this optional/configurable that would be awesome. -Hoss