I think I've
discovered a bug. I've opened the following issue:-
with a test case
class and the following description:-
If you do a
search for a negative wildcard query on a MultiSearcher where one of the
searchers is empty e.g. "lucene -bug*" the hits returned incorrectly include
articles with words that should be eliminated, e.g. "bug" and "bugs". This is
because the query expansion is done on the index with docs in and the empty ndex
separately and then combined as an OR to be run on the MultiSearcher.
This incorrectly lets in docs that have the excluded wildcard terms, e.g. "bug"
nd bugs". This bug would also show up with two indexes full of docs, and I can
send a test to show that if required, but I think this test demonstrates the bug
in the implest way.
The attached class TestMultiSearcherNegativeWildcardQueryExpansion.java can
be put in with other tests in org.apache.lucene.search and run and will fail,
showing the bug exists.
I have tested this bug with the currently unreleased 2.3.2 and the released
2.1 and 2.3.1 and it fails on all.
With lucene-1.5-rc1 it passes (with mods to make it work with old API) see
Please contact me if you need any further