title: Lucene's algorithm
body: <p>I read the paper by Doug Cutting; "<a href="http://lucene.sourceforge.net/papers/riao97.ps">Space optimizations for total ranking</a>".</p>
  
  <p>Since it was written a long time ago, I wonder what algorithms lucene uses (regarding postings list traversal and score calculation, ranking).</p>
  
  <p>Particularly, the total ranking algorithm described there involves traversing down the entire postings list for each query term, so in case of very common query terms like "yellow dog", either of the 2 terms may have a very very long postings list in case of web search. Are they all really traversed in the current Lucene/Solr? Or are there any heuristics to truncate the list employed?</p>
  
  <p>In the case when only the top k results are returned, I can understand that distributing the postings list across multiple machines, and then combining the top-k from each would work, but if we are required to return "the 100th result page", i.e. results ranked from 990--1000th, then each partition would still have to find out the top 1000, so 
  partitioning would not help much.</p>
  
  <p>Overall, is there any up-to-date detailed documentation on the internal algorithms used by Lucene?</p>