问题
I am confused about the qf and tie parameters in eDisMax
According to the document:
The qf is used to specify which field to search, while tie is use to specify all other field(except the highest score field)'s affect to the total score.
My confusion is since we already specify which field(suppose we only specify only one field) to search, why we still be able to get other fields to affect the total results(I guess this must be my misunderstanding to how edismax works, but this is also my confuse.)?
Or does that mean each time, edismax will calculate all the score across all fields and apply them with tie to the final score(even we only specify one field)?
回答1:
No, tie parameter is not about fields. Let me explain basic stuff that eDisMax doing - when it works against multiple fields it didn't sum score across fields (as boolean query did, for example), instead it choose maximum.
E.g. if we have fields A and B and score for field A is 3.0, and for B - 5.0, then eDisMax will get score 5.0, completely ignoring other score.
The "tie" param let's you configure how much the final score of the query will be influenced by the scores of the lower scoring fields compared to the highest scoring field.
So, if tie = 0.1, then final score of previous example will be 5.0 + 0.1 * 3.0 = 5.3
More information about tie param: https://wiki.apache.org/solr/ExtendedDisMax#tie_.28Tie_breaker.29
来源:https://stackoverflow.com/questions/29502831/confuse-about-the-tie-and-qf-in-edismax