[ 
http://issues.apache.org/jira/browse/LUCENE-538?page=comments#action_12373180 ] 

paul.elschot commented on LUCENE-538:
-------------------------------------

With this code in doSearch():

                System.err.println("Executing query: "+overallQuery);
                Query qrw = overallQuery.rewrite(reader);
                System.err.println("rewritten      : "+qrw);
                Hits results = searcher.search(qrw);

the test passes.

During searcher.search(), the query is once more rewritten, under the covers.
I don't know why rewriting the overallQuery twice does not work, this may
be a bug.

Anyway, there should be no need to rewrite it explicitly.

For convenience, I put the test in package org.apache.lucene.search,
so I could run the  test by:
ant -Dtestcase=TestMultiSearchWildCard test

Regards,
Paul Elschot


> Using WildcardQuery with MultiSearcher, and Boolean MUST_NOT clause
> -------------------------------------------------------------------
>
>          Key: LUCENE-538
>          URL: http://issues.apache.org/jira/browse/LUCENE-538
>      Project: Lucene - Java
>         Type: Bug

>   Components: Search
>     Versions: 1.9
>  Environment: Ubuntu Linux, java version 1.5.0_04
>     Reporter: Helen Warren
>  Attachments: TestMultiSearchWildCard.java
>
> We are searching across multiple indices using a MultiSearcher. There seems 
> to be a problem when we use a WildcardQuery to exclude documents from the 
> result set. I attach a set of unit tests illustrating the problem.
> In these tests, we have two indices. Each index contains a set of documents 
> with fields for 'title',  'section' and 'index'. The final aim is to do a 
> keyword search, across both indices, on the title field and be able to 
> exclude documents from certain sections (and their subsections) using a
> WildcardQuery on the section field.
>  
>  e.g. return documents from both indices which have the string 'xyzpqr' in 
> their title but which do not lie
>  in the news section or its subsections (section = /news/*).
>  
> The first unit test (testExcludeSectionsWildCard) fails trying to do this.
>  If we relax any of the constraints made above, tests pass:
>  
> * Don't use WildcardQuery, but pass in the news section and it's child 
> section to exclude explicitly (testExcludeSectionsExplicit)</li>
> * Exclude results from just one section, not it's children too i.e. don't use 
> WildcardQuery(testExcludeSingleSection)</li>
> * Do use WildcardQuery, and exclude a section and its children, but just use 
> one index thereby using the simple
>    IndexReader and IndexSearcher objects (testExcludeSectionsOneIndex).
> * Try the boolean MUST clause rather than MUST_NOT using the WildcardQuery 
> i.e. only include results from the /news/ section
>    and its children.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


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

Reply via email to