Hi TopDocsCollector was changed to be TopDocsCollector<T>. However it has methods which specifically assume the PQ stores ScoreDoc. So I think that if I extend it and pass in a NotAtAllScoreDoc object, things will break?
I think we shouldn't put <T> on TopDocsCollector at all, but rather change its ctor to protected TopDocsCollector(PriorityQueue<? extends ScoreDoc> pq). TopDocsCollector should handle ScoreDoc types. If we do this, we'll need to change FieldValueHitQueue's Entry to extend ScoreDoc (why doesn't it do it anyway?). I'm using the latest trunk version, and I don't know if this can be changed in 3.0 or not (feels like it can). Shai