public abstract class

FilteredDocIdSetIterator

extends DocIdSetIterator
java.lang.Object
   ↳ org.apache.lucene.search.DocIdSetIterator
     ↳ org.apache.lucene.search.FilteredDocIdSetIterator

Class Overview

Abstract decorator class of a DocIdSetIterator implementation that provides on-demand filter/validation mechanism on an underlying DocIdSetIterator. See FilteredDocIdSet.

Summary

[Expand]
Inherited Constants
From class org.apache.lucene.search.DocIdSetIterator
Fields
protected DocIdSetIterator _innerIter
Public Constructors
FilteredDocIdSetIterator(DocIdSetIterator innerIter)
Constructor.
Public Methods
int advance(int target)
Advances to the first beyond the current whose document number is greater than or equal to target.
int docID()
Returns the following:
int nextDoc()
Advances to the next document in the set and returns the doc it is currently on, or NO_MORE_DOCS if there are no more docs in the set.
Protected Methods
abstract boolean match(int doc)
Validation method to determine whether a docid should be in the result set.
[Expand]
Inherited Methods
From class org.apache.lucene.search.DocIdSetIterator
From class java.lang.Object

Fields

protected DocIdSetIterator _innerIter

Public Constructors

public FilteredDocIdSetIterator (DocIdSetIterator innerIter)

Constructor.

Parameters
innerIter Underlying DocIdSetIterator.

Public Methods

public int advance (int target)

Advances to the first beyond the current whose document number is greater than or equal to target. Returns the current document number or NO_MORE_DOCS if there are no more docs in the set.

Behaves as if written:

 int advance(int target) {
   int doc;
   while ((doc = nextDoc()) < target) {
   }
   return doc;
 }
 
Some implementations are considerably more efficient than that.

NOTE: certain implementations may return a different value (each time) if called several times in a row with the same target.

NOTE: this method may be called with {@value #NO_MORE_DOCS} for efficiency by some Scorers. If your implementation cannot efficiently determine that it should exhaust, it is recommended that you check for that value in each call to this method.

NOTE: after the iterator has exhausted you should not call this method, as it may result in unpredicted behavior.

Throws
IOException

public int docID ()

Returns the following:

public int nextDoc ()

Advances to the next document in the set and returns the doc it is currently on, or NO_MORE_DOCS if there are no more docs in the set.
NOTE: after the iterator has exhausted you should not call this method, as it may result in unpredicted behavior.

Throws
IOException

Protected Methods

protected abstract boolean match (int doc)

Validation method to determine whether a docid should be in the result set.

Parameters
doc docid to be tested
Returns
  • true if input docid should be in the result set, false otherwise.
Throws
IOException