You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by jp...@apache.org on 2017/12/29 15:00:21 UTC
[1/2] lucene-solr:master: LUCENE-8010: Axiomatic similarities must
incorporate the boost as a multiplicative factor.
Repository: lucene-solr
Updated Branches:
refs/heads/master 33f421e79 -> deb764491
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/master
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"),
[2/2] lucene-solr:master: LUCENE-8010: TestGrouping expects that
longer fields produce lower scores.
Posted by jp...@apache.org.
LUCENE-8010: TestGrouping expects that longer fields produce lower scores.
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/deb76449
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/deb76449
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/deb76449
Branch: refs/heads/master
Commit: deb7644912f6339e0647795c732049af2e60fc75
Parents: 8dfb019
Author: Adrien Grand <jp...@gmail.com>
Authored: Fri Dec 29 15:59:50 2017 +0100
Committer: Adrien Grand <jp...@gmail.com>
Committed: Fri Dec 29 15:59:50 2017 +0100
----------------------------------------------------------------------
.../src/test/org/apache/lucene/search/grouping/TestGrouping.java | 3 +++
1 file changed, 3 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/deb76449/lucene/grouping/src/test/org/apache/lucene/search/grouping/TestGrouping.java
----------------------------------------------------------------------
diff --git a/lucene/grouping/src/test/org/apache/lucene/search/grouping/TestGrouping.java b/lucene/grouping/src/test/org/apache/lucene/search/grouping/TestGrouping.java
index 9779c43..f59df53 100644
--- a/lucene/grouping/src/test/org/apache/lucene/search/grouping/TestGrouping.java
+++ b/lucene/grouping/src/test/org/apache/lucene/search/grouping/TestGrouping.java
@@ -59,6 +59,7 @@ import org.apache.lucene.search.Sort;
import org.apache.lucene.search.SortField;
import org.apache.lucene.search.TermQuery;
import org.apache.lucene.search.Weight;
+import org.apache.lucene.search.similarities.BM25Similarity;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.LuceneTestCase;
@@ -135,6 +136,8 @@ public class TestGrouping extends LuceneTestCase {
w.addDocument(doc);
IndexSearcher indexSearcher = newSearcher(w.getReader());
+ // This test relies on the fact that longer fields produce lower scores
+ indexSearcher.setSimilarity(new BM25Similarity());
w.close();
final Sort groupSort = Sort.RELEVANCE;