Home | About | Sematext search-lucene.com search-hadoop.com
 Search Lucene and all its subprojects:

Switch to Plain View
Lucene, mail # user - DisjunctionMaxQuery and scoring


+
Benson Margulies 2012-04-19, 17:26
+
Robert Muir 2012-04-19, 17:34
+
Benson Margulies 2012-04-19, 19:49
+
Robert Muir 2012-04-19, 20:21
+
Benson Margulies 2012-04-19, 21:05
+
Robert Muir 2012-04-19, 21:10
+
Benson Margulies 2012-04-19, 21:15
+
Benson Margulies 2012-04-19, 22:36
+
David Murgatroyd 2012-04-19, 23:05
+
Robert Muir 2012-04-19, 23:37
+
David Murgatroyd 2012-04-20, 00:32
+
Benson Margulies 2012-04-20, 00:42
+
Uwe Schindler 2012-04-20, 06:15
+
Uwe Schindler 2012-04-20, 06:33
Copy link to this message
-
Re: DisjunctionMaxQuery and scoring
Benson Margulies 2012-04-20, 11:16
Uwe and Robert,

Thanks. David and I are two peas in one pod here at Basis.

--benson

On Fri, Apr 20, 2012 at 2:33 AM, Uwe Schindler <[EMAIL PROTECTED]> wrote:
> Hi,
>
> Ah sorry, I misunderstood, you wanted to score the duplicate match lower! To
> achieve this, you have to change the coord function in your
> similarity/BooleanWeight used for this query.
>
> Either way: If you want a group of terms that get only one score if at least
> one of the terms match (SQL IN), but not add them at all,
> DisjunctionMaxQuery is fine. I think this is what Benson asked for.
>
> -----
> Uwe Schindler
> H.-H.-Meier-Allee 63, D-28213 Bremen
> http://www.thetaphi.de
> eMail: [EMAIL PROTECTED]
>
>
>> -----Original Message-----
>> From: Uwe Schindler [mailto:[EMAIL PROTECTED]]
>> Sent: Friday, April 20, 2012 8:16 AM
>> To: [EMAIL PROTECTED]; [EMAIL PROTECTED]
>> Subject: RE: DisjunctionMaxQuery and scoring
>>
>> Hi,
>> > I think
>> >  BooleanQuery bq = new BooleanQuery(false); doesn't quite accomplish
>> > the desired "name IN (dick, rich)" scoring behavior. This is because
>> (name:dick |
>> > name:rich) with coord=false would score the 'document' "Dick Rich"
>> > higher than "Rich" because the former has two term matches and the
>> > latter only
>> one.
>> > In contrast, I think the desire is that one and only one of the terms
>> > in
>> the
>> > document match those in the BooleanQuery so that "Rich" would score
>> > higher than "Dick Rich", given document length normalization. It's
>> > almost like a
>> desire
>> > for BooleanQuery bq = new BooleanQuery(false);
>> >   bq.set*Maximum*NumberShouldMatch(1);
>>
>> I that case DisjunctionMaxQuery is the way to go (it will only count the
> hit with
>> highest score and not add scores (coord or not coord doesn't matter here).
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>

---------------------------------------------------------------------
+
Robert Muir 2012-04-20, 06:27
+
Benson Margulies 2012-04-19, 20:03