Also used the following without a problem:

  bool_query.add(q,true,false); 
-----Original Message-----
From: Aruna Raghavan [mailto:[EMAIL PROTECTED]]
Sent: Monday, April 08, 2002 8:47 AM
To: 'Lucene Users List'
Subject: RE: "Match All Words" Query


Hi,
I haven't tried two levels of boolean queries but I did use the following
and it works fine for me.

BooleanQuery bool_query = new BooleanQuery();
for each field 
{
       Query q = QueryParser.parse(term,field,analyzer);
       bool_query.add(q,false,false); 
}
searcher.search( bool_query);
Aruna.
-----Original Message-----
From: Melissa Mifsud [mailto:[EMAIL PROTECTED]]
Sent: Saturday, April 06, 2002 10:17 AM
To: Lucene User
Subject: "Match All Words" Query


Hi!

I've been going round in circles trying to come up with a query that will
return documents which contian ALL the query terms. This should be easy,
however I would like the words to span ANY of the fields of the documents.

If the BooleanQuery(ies) do actually follow boolean logic, then I should be
able to form this query:

BooleanQuery b = new BooleanQuery();

for each term in the query {
    BooleanQuery sub_query = new BooleanQuery();
    for each field {
        Query q = QueryParser.parse(term,field,analyzer);
        sub_query.add(q,false,false);                              <----
disjunction of fields
    }

    b.add(sub_query,true,false); <---- conjunction of terms
}

And then b *should* be the query.

However, the query does not give the desired results!

Probably most all users of Lucene have needed such a query... I feel i'm
complicating things here! 

Help would be greatly appreciated.

Melissa.

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

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

Reply via email to