Sunday, April 1, 2018

FW: Boosting Fields Based On The Query Provided

-----Original Message-----
From: Mukhopadhyay, Aratrika [mailto:Aratrika.Mukhopadhyay@mail.house.gov]
Sent: 21 March 2018 01:56
To: 'solr-user@lucene.apache.org' <solr-user@lucene.apache.org>
Subject: Boosting Fields Based On The Query Provided

All ,
I have a solr query which I am having a hard time configuring as I
would want it configured. Suppose I have a situation where I have two fields
field1(host field) and field2 (url field). I want a specific host to be
bubbled to the top for all terms except for when I am searching for specific
people in which case I want the URL to their landing page returned first. I
have configured the dismax query parser in my solrconfig but it seems that
the boost being applied is arbitrary .

To be more specific if I search for terms related to star wars I want to
boost the starwars.com domain but if I search for Carrie Fisher or Mark
Hamill I want to boost the url http://www.imdb.com/name/nm0000402/ (Carrie
Fisher's imdb page) to the top for Carrie fisher and the url
http://www.imdb.com/name/nm0000434/ (Mark Hamill's imdb page) to the top for
Mark Hamill . Here would be my current configuration which is not working .

<requestHandler name="/select" class="solr.SearchHandler">
<lst name="defaults">
<str name="defType">edismax</str>
<str name="q">*:*</str>
<str
name="bq">host:(www.starwars.com)^10</str<http://www.starwars.com)%5e10%3c/s
tr>>
<str name="q">Carrie Fisher</str>
<str name="bq">url:(
http\:\/\/www.imdb.com\/name\/nm0000402/<http://www.imdb.com/name/nm0000402/
>)^8</str>
<str name="q">Mark Hamill</str>
<str name="bq">url:(
http\:\/\/www.imdb.com\/name\/nm0000434/<http://www.imdb.com/name/nm0000434/
>)^8</str>
</lst>
</requestHandler>

Do any of you know how to best handle a case like this ?

Regards,
Aratrika Mukhopadhyay

No comments:

Post a Comment