lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Erik Hatcher <e...@ehatchersolutions.com>
Subject Re: DEFAULT_OPERATOR_AND
Date Thu, 18 Aug 2005 10:36:52 GMT

On Aug 18, 2005, at 1:48 AM, Karthik N S wrote:
> Does this mean MultiFieldQueryParser will always have to use
> 'DEFAULT_OPERATOR_OR' instead of DEFAULT_OPERATOR_AND
> operations.

Yup, that's what I said :)

>   Is there any alternative in handling this processs ( other then API
> 'replaceAll(" ", " AND ")' substution)

Of course there are alternatives!   MFQP is merely a thin layer on  
top of QueryParser.  You're free to create Query's anyway you like.   
Here's one of the parse methods from MFQP:

   public static Query parse(String[] queries, String[] fields,
       Analyzer analyzer) throws ParseException
   {
     if (queries.length != fields.length)
       throw new IllegalArgumentException("queries.length !=  
fields.length");
     BooleanQuery bQuery = new BooleanQuery();
     for (int i = 0; i < fields.length; i++)
     {
       QueryParser qp = new QueryParser(fields[i], analyzer);
       Query q = qp.parse(queries[i]);
       bQuery.add(q, BooleanClause.Occur.SHOULD);
     }
     return bQuery;
   }

You could simply create a piece of code like that with the  
setOperator in there.

     Erik



>
>
> Please enlighten me
>
>
>
> With regards
> Karthik
>
>
> -----Original Message-----
> From: Erik Hatcher [mailto:erik@ehatchersolutions.com]
> Sent: Thursday, August 18, 2005 7:09 AM
> To: java-user@lucene.apache.org
> Subject: Re: DEFAULT_OPERATOR_AND
>
>
>
> On Aug 17, 2005, at 2:45 AM, Karthik N S wrote:
>
>> Hi  Lucener's
>>
>> Apologies..........
>>
>> I have seen forms using  'DEFAULT_OPERATOR_AND'  with  something
>> like below
>>
>>
>>> QueryParser parser = new QueryParser( "terms", analyzer);
>>> parser.setOperator(QueryParser.DEFAULT_OPERATOR_AND);
>>> query = parser.parse(TextParameters);
>>>
>>
>> How to use the DEFAULT_OPERATOR_AND  when using
>> MultiFieldQueryParser  as below
>>
>> "query = MultiFieldQueryParser.parse("text",fields,analyzer);" ?
>>
>> [ I also searched the other Form's for same but no answers.]
>>
>
> MultiFieldQueryParser does not adhere to the default operator
> setting, and will always use OR.
>
>      Erik
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-user-help@lucene.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-user-help@lucene.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org


Mime
View raw message