"product promotions" = "query elevation"

See:
http://wiki.apache.org/solr/QueryElevationComponent
https://cwiki.apache.org/confluence/display/solr/The+Query+Elevation+Component

Or, boost the query using a function query referencing an external file field that gets updated for promotions.

-- Jack Krupansky

-----Original Message----- From: dhaivat dave
Sent: Friday, August 02, 2013 9:17 AM
To: solr-user@lucene.apache.org
Subject: Re: Indexing and Query time boosting together

Hi Erick

Many Thanks for your reply. I got your point. one question on this: is it
possible to give more priority to those docs which has higher indexing time
boosting against query time boosting. I am trying to achieve product
promotions using this implementation. can you please guide how should i
implement this feature ?

Many Thanks,
Dhaivat Dave

On Fri, Aug 2, 2013 at 5:34 PM, Erick Erickson <erickerick...@gmail.com>wrote:

Add &debug=all to your query, that'll show you exactly how the scores
are calculated. But the most obvious thing is that you're boosting
on the titleName field in your query, which for doc 123 does NOT
contain "phone" so I suspect the fact that "phone" is in the titleName
field for 122 is overriding the index-time boost, especially since "phone"
appears in both title and description for 122.

Best
Erick


On Fri, Aug 2, 2013 at 7:53 AM, dhaivat dave <dhaiva...@gmail.com> wrote:

> Hello All,
>
> I want to boost certain products on particular keywords. for this i am
> using solr's indexing time boosting feature. i have given index time
> boosting with "1.0" value to all documents in my solr indices. now what > i > am doing is when user want to boost certain product i just increase > index
> time boosting value to 10.0 of that particular product only. now the
> problem is: i have also used query time boosting (for boosting documents
> when searched term found directly in title field) and so even i have
> increase the indexing time boosting value of the particular product it
> appears after query time boosted product.
>
> consider following example:
>
> - I have indexed couple document related to mobile phone (nokia,samsung
and
> so on)
> - All the documents contains the title field which contains following
value
>    *Doc1:*
>    *==*
>    <doc boost="1.0">
>    <id>122</id>
>    <titleName>Nokia Phone 2610 </titleName>
>    <description>Suprb phone</description>
>      ..
>    </otherField>
>    </doc>
>
>    *Doc2: *
> *   ==*
>    <doc boost="1.0">
>     <id>123
>     <titleName>Samsung smwer233</titleName>
>     <description>Samsung phone</description>
>      ..
>     </otherfield>
>      </doc>
>
> - now if some one searches for "Phone" it will display first "Nokia
Phone"
> second "Samsung Phone" (by searching in <titleName> and <description>
> field)
> - to display "Samsung" before "Nokia"  i have boost the index time value
,
> some thing like below
>
>     <doc boost="5.0">
>     <id>123  </id>
>     <titleName>Samsung smwer233</titleName>
>     <description>Samsung phone</description>
>      ..
>     </otherfield>
>      </doc>
>
> - i am also using boosting at query time to boost the document which has
> found terms in <titleName> field
>     *"titleName:phone^4"*
>
> now even though i have higher boosting in samsung mobile it displays
nokia
> mobile first and then samsung mobile.
>
> can any one please guide how can i boost particular document using index
> time boosting(it should appear first even though i am applying query > time
> boosting).
>
> Many Thanks,
> Dhaivat Dave
>




--







Regards
Dhaivat

Reply via email to