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