You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by da...@apache.org on 2018/01/03 10:52:01 UTC

[13/18] lucene-solr:jira/solr-11702: LUCENE-8010: Axiomatic similarities must incorporate the boost as a multiplicative factor.

LUCENE-8010: Axiomatic similarities must incorporate the boost as a multiplicative factor.


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/8dfb0190
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/8dfb0190
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/8dfb0190

Branch: refs/heads/jira/solr-11702
Commit: 8dfb0190762922ea2e61dc565616e17aa02ebb5a
Parents: 33f421e
Author: Adrien Grand <jp...@gmail.com>
Authored: Fri Dec 29 15:59:21 2017 +0100
Committer: Adrien Grand <jp...@gmail.com>
Committed: Fri Dec 29 15:59:21 2017 +0100

----------------------------------------------------------------------
 .../java/org/apache/lucene/search/similarities/Axiomatic.java  | 6 ++++++
 1 file changed, 6 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/8dfb0190/lucene/core/src/java/org/apache/lucene/search/similarities/Axiomatic.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/similarities/Axiomatic.java b/lucene/core/src/java/org/apache/lucene/search/similarities/Axiomatic.java
index 553fd42..df683c1 100644
--- a/lucene/core/src/java/org/apache/lucene/search/similarities/Axiomatic.java
+++ b/lucene/core/src/java/org/apache/lucene/search/similarities/Axiomatic.java
@@ -107,6 +107,7 @@ public abstract class Axiomatic extends SimilarityBase {
         * tfln(stats, freq, docLen)
         * idf(stats, freq, docLen)
         - gamma(stats, freq, docLen);
+    score *= stats.boost;
     // AxiomaticF3 similarities might produce negative scores due to their gamma component
     return Math.max(0, score);
   }
@@ -132,6 +133,11 @@ public abstract class Axiomatic extends SimilarityBase {
     Explanation explanation = Explanation.match((float) score,
         "score(" + getClass().getSimpleName() + ", doc=" + doc + ", freq=" + freq.getValue() +"), computed from:",
         subs);
+    if (stats.boost != 1f) {
+      explanation = Explanation.match((float) (score * stats.boost), "Boosted score, computed as (score * boost) from:",
+          explanation,
+          Explanation.match((float) stats.boost, "Query boost"));
+    }
     if (score < 0) {
       explanation = Explanation.match(0, "max of:",
           Explanation.match(0, "Minimum legal score"),