You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@lucene.apache.org by Ma...@prg.co.nz on 2003/03/05 23:23:32 UTC
multi query with boost AND multiple terms
Hi there,
I am trying to do a search on multiple terms inclusive using boosting. I
extended the MultiFieldQueryParser like this:
public static org.apache.lucene.search.Query parse(String query, String[]
fields, float[] boost,
Analyzer analyzer)
throws ParseException
{
BooleanQuery bQuery = new BooleanQuery();
for (int i = 0; i < fields.length; i++)
{
org.apache.lucene.search.Query q = parse(query, fields[i],
analyzer);
q.setBoost(boost[i]);
bQuery.add(q, false, false);
}
return bQuery;
}
It works fine for single term i.e searching for 'dvd' results in:
name:dvd^6.0 shortDescription:dvd^4.0 longDescription:dvd^2.0
But, if I have multiple term like 'dvd player' I get:
(name:dvd name:player) (mfName:dvd mfName:player) (shortDescription:dvd
shortDescription:player) (longDescription:dvd longDescription:player)
Any ideas?
Cheers, Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: lucene-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: lucene-user-help@jakarta.apache.org