lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "lucene user" <luz...@gmail.com>
Subject next() not called in FilterIndexReader.FilterTermDocs
Date Sun, 10 Jun 2007 21:50:36 GMT
I am trying to use a Filter Index Reader to
provide access only to the subset of my archive
for which a certain field contains one of a given
list of values.

The idea is to create a special term for this field
that means 'any term in the list', and add an 'AND'
clause to every query, to enforce the condition.

I override the seek() and next() methods of FilterTermDocs.

In the seek(Term t) method I check if t is my special term.
If it is, I initialize an instance variable in the FilterTermDocs,
with an Iterator over my List. I then call super.seek(s) for
a term 's' which has the same field name and a value which
is the next element from the interator.

In the next() method, If super.next() returns false,
but the iterator is there and has a next element,
I call super.seek(s) for the next element and try
again.

The problem is the although my seek() method is being called,
my next() method is not. Thus I never get to iterate through
my list, and only receive results corrasponding to its first
element.

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message