You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-dev@lucene.apache.org by Tom Morton <ts...@gmail.com> on 2008/06/05 21:33:25 UTC

Boosting for MoreLikeThisHandler

Hi,
   SOLR-295 <https://issues.apache.org/jira/browse/SOLR-295> mentions boost
support for morelikethis and then seems to have been subsumed by
SOLR-281<https://issues.apache.org/jira/browse/SOLR-281>but I don't
think this got implemented.  I've patched MoreLikeThisHandler to
support this.  Here's a summary of the approach:


   -   Parse out "mlt.qf parameters" to get boosts in dismax like format
   (existing code from DisMax param parse code used to produce a
   Map<String,Float>)
   -   Iterate through mltquery terms, get boost by looking at field from
   which mltquery term came,  and multiply boost specified in map by existing
   term boost.
      - If mlt.boost=false, then you get the same boost values as in
      map/mlt.qf parameters,
   - If mlt.boost=true then you get normalized boost multiplied by specified
      boost (which makes sense to me).


Patch attached.

Should I re-open either SOLR-281 or SOLR-295 (if I can) or create a new jira
ticket for this?

Thanks...Tom

Re: Boosting for MoreLikeThisHandler

Posted by Tom Morton <ts...@gmail.com>.
   I'm trying to add some unit tests now.  MoreLikeThisHandler had a minimal
set of tests which don't actually test its output, just that fields and a
query parameters are required.  It'll take me a bit to write something for
the regular version and then the version with specified boosts.

On Fri, Jun 6, 2008 at 6:46 AM, Grant Ingersoll <gs...@apache.org> wrote:

> I think a separate issue is warranted.  Can you add unit tests, too?
>
>
> On Jun 5, 2008, at 3:33 PM, Tom Morton wrote:
>
>  Hi,
>>   SOLR-295 mentions boost support for morelikethis and then seems to have
>> been subsumed by SOLR-281 but I don't think this got implemented.  I've
>> patched MoreLikeThisHandler to support this.  Here's a summary of the
>> approach:
>>
>>  Parse out "mlt.qf parameters" to get boosts in dismax like format
>> (existing code from DisMax param parse code used to produce a
>> Map<String,Float>)
>>  Iterate through mltquery terms, get boost by looking at field from which
>> mltquery term came,  and multiply boost specified in map by existing term
>> boost.
>> If mlt.boost=false, then you get the same boost values as in map/mlt.qf
>> parameters,
>> If mlt.boost=true then you get normalized boost multiplied by specified
>> boost (which makes sense to me).
>>
>> Patch attached.
>>
>> Should I re-open either SOLR-281 or SOLR-295 (if I can) or create a new
>> jira ticket for this?
>>
>> Thanks...Tom
>> <morelikethis.patch>
>>
>
>
>

Re: Boosting for MoreLikeThisHandler

Posted by Grant Ingersoll <gs...@apache.org>.
I think a separate issue is warranted.  Can you add unit tests, too?

On Jun 5, 2008, at 3:33 PM, Tom Morton wrote:

> Hi,
>    SOLR-295 mentions boost support for morelikethis and then seems  
> to have been subsumed by SOLR-281 but I don't think this got  
> implemented.  I've patched MoreLikeThisHandler to support this.   
> Here's a summary of the approach:
>
>   Parse out "mlt.qf parameters" to get boosts in dismax like format  
> (existing code from DisMax param parse code used to produce a  
> Map<String,Float>)
>   Iterate through mltquery terms, get boost by looking at field from  
> which mltquery term came,  and multiply boost specified in map by  
> existing term boost.
> If mlt.boost=false, then you get the same boost values as in map/ 
> mlt.qf parameters,
> If mlt.boost=true then you get normalized boost multiplied by  
> specified boost (which makes sense to me).
>
> Patch attached.
>
> Should I re-open either SOLR-281 or SOLR-295 (if I can) or create a  
> new jira ticket for this?
>
> Thanks...Tom
> <morelikethis.patch>