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"),