I believe Lucene already does this, with the 'coord' factor in
BooleanQuery, which is on by default (ie, if you just "new
BooleanQuery()").

Ie your doc c will get a coord factor of 1.0, doc b gets 0.666..., doc
a gets 0.3333.

That said, if the term freq is high enough (ie doc a has nacho 4
times), that may give it a high enough score to overcome its coord
disadvantage (I'm not sure).

Mike

http://blog.mikemccandless.com

On Wed, May 18, 2011 at 10:14 PM, Christopher Condit <con...@sdsc.edu> wrote:
> Let's say I have the query
> (nacho OR foo OR bar)
>
> and some documents (single field with norms off)
> doc a: nacho nacho nacho nacho
> doc b: foo bar bar
> doc c: nacho foo bar
>
> I'm interested in all of these documents but I would like c to score the
> highest since it contains all of the search terms, b to score second
> because it has two, and a to score the third because it has one. What's
> the best way to get Lucene to do this?
>
> Thanks,
> -Chris
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
> For additional commands, e-mail: java-user-h...@lucene.apache.org
>
>

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

Reply via email to