Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
1.9
-
None
-
xp sp2, jdk1.5
Description
I have encountered an issue with lucene1.9.1. It involves MatchAllDocsQuery, MultiSearcher and a custom HitCollector. The following code throws java.lang.UnsupportedOperationException.
If I remove the MatchAllDocsQuery condition (comment whole //1 block), or if I dont use the custom hitcollector (ms.search(mbq); instead of ms.search(mbq, allcoll) the exception goes away. By stepping into the source I can see it seems due to MatchAllDocsQuery no implementing extractTerms()....
Searcher searcher = new
IndexSearcher("c:\\projects\\mig\\runtime\\index\\01Aug16
");
Searchable[] indexes = new IndexSearcher[1];
indexes[0] = searcher;
MultiSearcher ms = new MultiSearcher(indexes);
AllCollector allcoll = new AllCollector(ms);
BooleanQuery mbq = new BooleanQuery();
mbq.add(new TermQuery(new Term("body", "value1")),
BooleanClause.Occur.MUST_NOT);
// 1
MatchAllDocsQuery alld = new MatchAllDocsQuery();
mbq.add(alld, BooleanClause.Occur.MUST);
//
System.out.println("Query: " + mbq.toString());
// 2
ms.search(mbq, allcoll);
//ms.search(mbq);