i want to compute a final score for each document by summing the weighted scores of multiple fields scores,instead of getting the MAX as the edisMAx query parser does.
So if i got three fields;title and description, i want my final score to be like this:
FINAL SCORE = w1 * title_field_score + (1-w1) * description_field_score + (1-w1 -w2) * description_field_score
Where w1,w2 can be values between 0 to 1.
The default similarity with no any simialrity gives this ranking. This uses the following search handler:
<requestHandler name="/select" class="solr.SearchHandler">
<lst name="defaults">
<str name="echoParams">explicit</str>
<int name="rows">10</int>
<str name="df">detail_page_text</str>
<!-- Query settings -->
<str name="defType">edismax</str>
<str name="qf">
job_title description detail_page_text
</str>
now by using the tie as below, seems that we getting a ideal ranking.
<str name="tie">1.0</str>
So my question is if the use of the tie parameter is the right way to achieve a weigthed ranking score based on all fields equaly(or with additional weights).
Any tip would be much appreciated!
Cheers
Dismax tie is the parameter you should use for weighted scoring.
tie = 1.0 -> Sum of All the Individual Scores.
tie = 0.0 -> Max of the Individual Scores.