Hi to all, I found the problem and the solution. In PruningReader super.getSequentialSubReaders(); is used. After 28118 super.next() is false because it is a subreader for a segment and indexreader.maxDoc() is equal to 28118 for that segment. In pruneAllPositions, instead of comparing termpostions.doc to docid, I compared in.document(termPositions.doc()).getField("docid").stringValue() to docid.
It happened because of my custom initPositionsTerm method. (public void initPositionsTerm(TermPositions tp, Term t, *ScoreDoc[] sdoc*) ). There is no problem with other pruning policies. DocID ****** termPositions.doc() 22477 ******** 22477 26708 ******** 26708 42813 ******** 14093 47086 ******** 18366 49740 ******** 21020 68570 ******** 11760 76995 ******** 20185 106424 ******** 21524 116472 ******** 502 123472 ******** 1992 Best Regards -- View this message in context: http://lucene.472066.n3.nabble.com/pruning-package-question-about-termpositions-skipTo-tp4001160p4002656.html Sent from the Lucene - Java Users mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org For additional commands, e-mail: java-user-h...@lucene.apache.org