Thats an example of something similar to impact indexing (though, his implementation currently stores a max for the entire term, the problem is the same).
We can imagine other similar algorithms too: I think the codec API should be able to support these.
Currently it really doesnt: Stefan worked around the problem by providing a tool to 'rewrite' your index, he passes the IndexReader and Similarity to it. But it would be better if we fixed the codec API.
One problem is that the Postings writer needs to have access to the Similarity. Another problem is that it needs access to the term and collection statistics up front, rather than after the fact.
This might have some cost (hopefully minimal), so I'm thinking to experiment in a branch with these changes and see if we can make it work well.