lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jason Fennell <jdfenn...@gmail.com>
Subject MatchAllDocsQuery and InstantiatedIndex on Lucene 2.9.1
Date Wed, 09 Dec 2009 18:48:00 GMT
I'm trying to upgrade our application from Lucene 2.4.1 to Lucene 2.9.1.
I've been using an InstantiatedIndex to do a bunch of unit testing, but am
running into a some problems with Lucene 2.9.1.
In particular, when I try to run a MatchAllDocsQuery on my InstantiatedIndex
(which worked fine on 2.4.1) a NullPointerException is raised.  I think I
tracked down the problem in the Lucene source.

In the 2.9.1 MatchAllDocsQuery, the MatchAllScorer retrieves termDocs from
the IndexReader passed to it with

reader.termDocs(null)

which I assume is supposed to return all termDocs.  However, tracing this
call down

IndexReader.termDocs(term) calls InstantiatedTermDocs.seek(
term) calls InstantiatedIndex.findTerm(term)

which is implemented as

InstantiatedTerm findTerm(Term term) {
    return findTerm(term.field(), term.text());
}

which, since term is null, results in a NullPointerException.  This seems to
me like an bug either in the MatchAllDocsQuery implementation (the version
in 2.4.1 did not use termDocs, so did not pass through this null), or a bug
in the implementation of InstantiatedIndex.

Any suggestions on what I can do about this?  I definitely can't get rid of
the MatchAllDocsQuery and don't really want to move back to a slow
RAMDirectory.

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