According to the solr docs, the tie parameter of 0 should make lower scoring fields not contribute to the final score:
When a term from the user’s input is tested against multiple fields, more than one field may match. If so, each field will generate a different score based on how common that word is in that field (for each document relative to all other documents). The tie parameter lets you control 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.
A value of "0.0" - the default - makes the query a pure "disjunction max query": that is, only the maximum scoring subquery contributes to the final score. A value of "1.0" makes the query a pure "disjunction sum query" where it doesn’t matter what the maximum scoring sub query is, because the final score will be the sum of the subquery scores. Typically a low value, such as 0.1, is useful.
However, this is not working for me. Here are my search parameters:
q:
parent_and_self_description:2-canal
parent_and_self_description:rct
info:2-canal
info:rct
qf: parent_and_self_description info^0.000000001
defType: edismax
Despite giving such a low boost to info, here is the resulting score debug information for the top result, which forced its way to the top due to its score on the "info" field:
9.731399 = sum of:
2.0064516 = weight(parent_and_self_description:canal in 753) [SchemaSimilarity], result of:
2.0064516 = score(freq=2.0), computed as boost * idf * tf from:
3.5589366 = idf, computed as log(1 + (N - n + 0.5) / (n + 0.5)) from:
75 = n, number of documents containing term
2651 = N, total number of documents with field
0.5637784 = tf, computed as freq / (freq + k1 * (1 - b + b * dl / avgdl)) from:
2.0 = freq, occurrences of term within document
1.2 = k1, term saturation parameter
0.75 = b, length normalization parameter
18.0 = dl, length of field
12.986043 = avgdl, average length of field
3.726406 = sum of:
1.7199546 = weight(parent_and_self_description:root in 753) [SchemaSimilarity], result of:
1.7199546 = score(freq=2.0), computed as boost * idf * tf from:
3.0507636 = idf, computed as log(1 + (N - n + 0.5) / (n + 0.5)) from:
125 = n, number of documents containing term
2651 = N, total number of documents with field
0.5637784 = tf, computed as freq / (freq + k1 * (1 - b + b * dl / avgdl)) from:
2.0 = freq, occurrences of term within document
1.2 = k1, term saturation parameter
0.75 = b, length normalization parameter
18.0 = dl, length of field
12.986043 = avgdl, average length of field
2.0064516 = weight(parent_and_self_description:canal in 753) [SchemaSimilarity], result of:
2.0064516 = score(freq=2.0), computed as boost * idf * tf from:
3.5589366 = idf, computed as log(1 + (N - n + 0.5) / (n + 0.5)) from:
75 = n, number of documents containing term
2651 = N, total number of documents with field
0.5637784 = tf, computed as freq / (freq + k1 * (1 - b + b * dl / avgdl)) from:
2.0 = freq, occurrences of term within document
1.2 = k1, term saturation parameter
0.75 = b, length normalization parameter
18.0 = dl, length of field
12.986043 = avgdl, average length of field
1.6317743 = weight(info:canal in 753) [SchemaSimilarity], result of:
1.6317743 = score(freq=3.0), computed as boost * idf * tf from:
3.226844 = idf, computed as log(1 + (N - n + 0.5) / (n + 0.5)) from:
2 = n, number of documents containing term
62 = N, total number of documents with field
0.50568736 = tf, computed as freq / (freq + k1 * (1 - b + b * dl / avgdl)) from:
3.0 = freq, occurrences of term within document
1.2 = k1, term saturation parameter
0.75 = b, length normalization parameter
56.0 = dl, length of field (approximate)
19.14516 = avgdl, average length of field
2.366767 = sum of:
0.7349925 = weight(info:root in 753) [SchemaSimilarity], result of:
0.7349925 = score(freq=1.0), computed as boost * idf * tf from:
2.8903718 = idf, computed as log(1 + (N - n + 0.5) / (n + 0.5)) from:
3 = n, number of documents containing term
62 = N, total number of documents with field
0.25428993 = tf, computed as freq / (freq + k1 * (1 - b + b * dl / avgdl)) from:
1.0 = freq, occurrences of term within document
1.2 = k1, term saturation parameter
0.75 = b, length normalization parameter
56.0 = dl, length of field (approximate)
19.14516 = avgdl, average length of field
1.6317743 = weight(info:canal in 753) [SchemaSimilarity], result of:
1.6317743 = score(freq=3.0), computed as boost * idf * tf from:
3.226844 = idf, computed as log(1 + (N - n + 0.5) / (n + 0.5)) from:
2 = n, number of documents containing term
62 = N, total number of documents with field
0.50568736 = tf, computed as freq / (freq + k1 * (1 - b + b * dl / avgdl)) from:
3.0 = freq, occurrences of term within document
1.2 = k1, term saturation parameter
0.75 = b, length normalization parameter
56.0 = dl, length of field (approximate)
19.14516 = avgdl, average length of field
I want the documents matching on both fields to only be scored on the parent_and_self_description field, and I want for documents matching only on the info field to have such low scores that they come at the very end of the ranking. What am I doing wrong? Thank you.