Mark, That's working right out of the box. Thanks again.

-----Original Message-----
From: Mark Miller [mailto:[EMAIL PROTECTED] 
Sent: Friday, October 12, 2007 2:06 PM
To: java-user@lucene.apache.org
Subject: Re: Wildcard & filters

No prob....was a bit hasty though:

replace

= new BitSet();

with

= new BitSet(reader.maxDocs());


Beard, Brian wrote:
> Mark,
>
> Thanks so much.
>
> -----Original Message-----
> From: Mark Miller [mailto:[EMAIL PROTECTED] 
> Sent: Friday, October 12, 2007 1:54 PM
> To: java-user@lucene.apache.org
> Subject: Re: Wildcard & filters
>
> Something along these lines:
>
> public class WildcardFilter extends Filter {
>     private Term term;
>
>     public WildcardFilter(Term term) {
>         this.term = term;
>     }
>
>     @Override
>     public BitSet bits(IndexReader reader) throws IOException {
>         BitSet bits = new BitSet();
>         WildcardTermEnum enumerator = new WildcardTermEnum(reader,
> term);
>         TermDocs termDocs = reader.termDocs();
>
>         try {
>             do {
>                 Term term = enumerator.term();
>
>                 if (term != null) {
>                     termDocs.seek(term);
>
>                     while (termDocs.next()) {
>                         bits.set(termDocs.doc());
>                     }
>                 } else {
>                     break;
>                 }
>             } while (enumerator.next());
>         } finally {
>             termDocs.close();
>             enumerator.close();
>         }
>
>         return bits;
>     }
> }
>
> - Mark
>
> Beard, Brian wrote:
>   
>> I'm trying to over-ride QueryParser.getWildcardQuery to use
filtering.
>>
>> I'm missing something, because the following still gets the
>> maxBooleanClauses limit.
>>
>> I guess the terms are still expanded even though the query is wrapped
>>     
> in
>   
>> a filter. How do I avoid the term expansion altogether? Is there a
>> built-in way to do this?
>>
>> protected Query getWildcardQuery(String field, String termStr)
>>      throws ParseException {
>>              
>>      Query wildcardQuery = new WildcardQuery(new Term(field,
>> termStr));
>>
>>      QueryWrapperFilter queryWrapperFilter = new
>> QueryWrapperFilter(wildcardQuery);
>>
>>      ConstantScoreQuery constantScoreQuery = new
>> ConstantScoreQuery(queryWrapperFilter);
>>
>>      return constantScoreQuery;
>>
>> }
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>>   
>>     
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>   

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




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

Reply via email to