You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Hakim Benoudjit <h....@gmail.com> on 2014/07/15 16:00:42 UTC

Boost using date and a field value

Hi,
I want to boost recent (*today's*) documents having a certain *field value*.
The two fields to be bosted are respectively: '*date*' & '*site*'.
But I dont want to penalize *recent *documents not satisfying the field
value ('*site*'), in favor of *older* documents satisfying this field value
('*site*').

- I've boosted documents having this field value ('*site*'), using *dismax
boost query*.
- And I've found on solr doc how to boost *recent *docs:
https://wiki.apache.org/solr/SolrRelevancyFAQ#How_can_I_boost_the_score_of_newer_documents

- But I cant combine these two boosts.


-- 
Hakim Benoudjit.

Re: Boost using date and a field value

Posted by Hakim Benoudjit <h....@gmail.com>.
The real issue is that I'm having issues to balance my two boosted fields,
although I've added a coefficient to them.
What I've done is that I have a boost query with the two fields:
field1:value1 AND date:[ TO ], to have all today's docs satisfying the
condition field1 = value1 first of the list.
But, it seems to me that (except those boosted documents) all other scores
have similar scores. Is there a way to have all other documents have
different scores? (maybe I should use boost fields for this)?

My other question, is in case that I want to penalize docs having a certain
field value in favor of other docs having this value. how should I do to
achieve this? Do I need to add a field affected at index-time? or a dynamic
field pre-computed depending on this field value?


2014-07-17 10:23 GMT+01:00 Alexandre Rafalovitch <ar...@gmail.com>:

> Well, to start, it would help to know what "can't combine the  boosts"
> mean in your case. Are you saying you can only apply one at a time?
> Are you saying that you see the effect of both but having troubles
> balancing them? Something else?
>
> The more complex use cases become, the more precise information people
> need to be able to help you. And Relevancy is a complex case even in
> the basic scenarios.
>
> Regards,
>    Alex.
> Personal: http://www.outerthoughts.com/ and @arafalov
> Solr resources: http://www.solr-start.com/ and @solrstart
> Solr popularizers community: https://www.linkedin.com/groups?gid=6713853
>
>
> On Thu, Jul 17, 2014 at 3:57 PM, Hakim Benoudjit <h....@gmail.com>
> wrote:
> > Any idea please?
> >
> >
> > 2014-07-15 15:00 GMT+01:00 Hakim Benoudjit <h....@gmail.com>:
> >
> >> Hi,
> >> I want to boost recent (*today's*) documents having a certain *field
> >> value*. The two fields to be bosted are respectively: '*date*' &
> '*site*'.
> >> But I dont want to penalize *recent *documents not satisfying the field
> >> value ('*site*'), in favor of *older* documents satisfying this field
> >> value ('*site*').
> >>
> >> - I've boosted documents having this field value ('*site*'), using
> *dismax
> >> boost query*.
> >> - And I've found on solr doc how to boost *recent *docs:
> >>
> https://wiki.apache.org/solr/SolrRelevancyFAQ#How_can_I_boost_the_score_of_newer_documents
> >>
> >> - But I cant combine these two boosts.
> >>
> >>
> >> --
> >> Hakim Benoudjit.
> >>
> >
> >
> >
> > --
> > Hakim Benoudjit.
>



-- 
Hakim Benoudjit.

Re: Boost using date and a field value

Posted by Alexandre Rafalovitch <ar...@gmail.com>.
Well, to start, it would help to know what "can't combine the  boosts"
mean in your case. Are you saying you can only apply one at a time?
Are you saying that you see the effect of both but having troubles
balancing them? Something else?

The more complex use cases become, the more precise information people
need to be able to help you. And Relevancy is a complex case even in
the basic scenarios.

Regards,
   Alex.
Personal: http://www.outerthoughts.com/ and @arafalov
Solr resources: http://www.solr-start.com/ and @solrstart
Solr popularizers community: https://www.linkedin.com/groups?gid=6713853


On Thu, Jul 17, 2014 at 3:57 PM, Hakim Benoudjit <h....@gmail.com> wrote:
> Any idea please?
>
>
> 2014-07-15 15:00 GMT+01:00 Hakim Benoudjit <h....@gmail.com>:
>
>> Hi,
>> I want to boost recent (*today's*) documents having a certain *field
>> value*. The two fields to be bosted are respectively: '*date*' & '*site*'.
>> But I dont want to penalize *recent *documents not satisfying the field
>> value ('*site*'), in favor of *older* documents satisfying this field
>> value ('*site*').
>>
>> - I've boosted documents having this field value ('*site*'), using *dismax
>> boost query*.
>> - And I've found on solr doc how to boost *recent *docs:
>> https://wiki.apache.org/solr/SolrRelevancyFAQ#How_can_I_boost_the_score_of_newer_documents
>>
>> - But I cant combine these two boosts.
>>
>>
>> --
>> Hakim Benoudjit.
>>
>
>
>
> --
> Hakim Benoudjit.

Re: Boost using date and a field value

Posted by Hakim Benoudjit <h....@gmail.com>.
Any idea please?


2014-07-15 15:00 GMT+01:00 Hakim Benoudjit <h....@gmail.com>:

> Hi,
> I want to boost recent (*today's*) documents having a certain *field
> value*. The two fields to be bosted are respectively: '*date*' & '*site*'.
> But I dont want to penalize *recent *documents not satisfying the field
> value ('*site*'), in favor of *older* documents satisfying this field
> value ('*site*').
>
> - I've boosted documents having this field value ('*site*'), using *dismax
> boost query*.
> - And I've found on solr doc how to boost *recent *docs:
> https://wiki.apache.org/solr/SolrRelevancyFAQ#How_can_I_boost_the_score_of_newer_documents
>
> - But I cant combine these two boosts.
>
>
> --
> Hakim Benoudjit.
>



-- 
Hakim Benoudjit.