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.
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.