[ 
https://issues.apache.org/jira/browse/LUCENE-1300?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12603460#action_12603460
 ] 

Mark Miller commented on LUCENE-1300:
-------------------------------------

One option may be to do this:

Figure out how we can change Searchable (deprecation, whatever) and add a 
getIndexReader method. Make the getIndexReader method on MultiSearcher return a 
MultiReader with the underlying searchable Readers. Now on MultiSearcher 
rewrite, the query can be rewritten on a temp IndexSearcher that uses the 
MultiReader.

Ive tried it quickly, but I havn't thought out all the ramifications. I wouldnt 
be surprised if there was some biggies (being able to get an IndexReader off a 
Searchable would be quite the change)...and obviously changing Searchable 
pretty much sucks. Any other ideas though? I can't think of a way to make the 
combine method work right otherwise without recursing down the query and doing 
some really nasty bookkeeping stuff.


> Negative wildcard searches on MultiSearcher not eliminating correctly.
> ----------------------------------------------------------------------
>
>                 Key: LUCENE-1300
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1300
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Search
>    Affects Versions: 2.1, 2.3, 2.3.1
>         Environment: Windows XP, cygwin.
>            Reporter: steve halsey
>            Priority: Minor
>         Attachments: TestMultiSearcherNegativeWildcardQueryExpansion.java, 
> TestMultiSearcherNegativeWildcardQueryExpansionWorksWith151.java
>
>
>  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 
> TestMultiSearcherNegativeWildcardQueryExpansionWorksWith151.java attachment.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to