You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ro...@apache.org on 2018/01/05 16:19:51 UTC
[2/2] lucene-solr:branch_7x: LUCENE-8099: Add equality tests for
FunctionScoreQuery
LUCENE-8099: Add equality tests for FunctionScoreQuery
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/e3c19475
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/e3c19475
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/e3c19475
Branch: refs/heads/branch_7x
Commit: e3c1947506b65bec93834e0607dc05a86537685e
Parents: 0b41754
Author: Alan Woodward <ro...@apache.org>
Authored: Fri Jan 5 16:18:37 2018 +0000
Committer: Alan Woodward <ro...@apache.org>
Committed: Fri Jan 5 16:19:02 2018 +0000
----------------------------------------------------------------------
.../function/TestFunctionScoreQuery.java | 39 ++++++++++++++++++++
1 file changed, 39 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/e3c19475/lucene/queries/src/test/org/apache/lucene/queries/function/TestFunctionScoreQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/test/org/apache/lucene/queries/function/TestFunctionScoreQuery.java b/lucene/queries/src/test/org/apache/lucene/queries/function/TestFunctionScoreQuery.java
index 5803189..47df46b 100644
--- a/lucene/queries/src/test/org/apache/lucene/queries/function/TestFunctionScoreQuery.java
+++ b/lucene/queries/src/test/org/apache/lucene/queries/function/TestFunctionScoreQuery.java
@@ -52,6 +52,45 @@ public class TestFunctionScoreQuery extends FunctionTestSetup {
reader.close();
}
+ public void testEqualities() {
+
+ Query q1 = new FunctionScoreQuery(new TermQuery(new Term(TEXT_FIELD, "a")), DoubleValuesSource.constant(1));
+ Query q2 = new FunctionScoreQuery(new TermQuery(new Term(TEXT_FIELD, "b")), DoubleValuesSource.constant(1));
+ Query q3 = new FunctionScoreQuery(new TermQuery(new Term(TEXT_FIELD, "b")), DoubleValuesSource.constant(2));
+ Query q4 = new FunctionScoreQuery(new TermQuery(new Term(TEXT_FIELD, "b")), DoubleValuesSource.constant(2));
+
+ QueryUtils.check(q1);
+ QueryUtils.checkUnequal(q1, q3);
+ QueryUtils.checkUnequal(q1, q2);
+ QueryUtils.checkUnequal(q2, q3);
+ QueryUtils.checkEqual(q3, q4);
+
+ Query bq1 = FunctionScoreQuery.boostByValue(new TermQuery(new Term(TEXT_FIELD, "a")), DoubleValuesSource.constant(2));
+ QueryUtils.check(bq1);
+ Query bq2 = FunctionScoreQuery.boostByValue(new TermQuery(new Term(TEXT_FIELD, "a")), DoubleValuesSource.constant(4));
+ QueryUtils.checkUnequal(bq1, bq2);
+ Query bq3 = FunctionScoreQuery.boostByValue(new TermQuery(new Term(TEXT_FIELD, "b")), DoubleValuesSource.constant(4));
+ QueryUtils.checkUnequal(bq1, bq3);
+ QueryUtils.checkUnequal(bq2, bq3);
+ Query bq4 = FunctionScoreQuery.boostByValue(new TermQuery(new Term(TEXT_FIELD, "b")), DoubleValuesSource.constant(4));
+ QueryUtils.checkEqual(bq3, bq4);
+
+ Query qq1 = FunctionScoreQuery.boostByQuery(new TermQuery(new Term(TEXT_FIELD, "a")), new TermQuery(new Term(TEXT_FIELD, "z")), 0.1f);
+ QueryUtils.check(qq1);
+ Query qq2 = FunctionScoreQuery.boostByQuery(new TermQuery(new Term(TEXT_FIELD, "a")), new TermQuery(new Term(TEXT_FIELD, "z")), 0.2f);
+ QueryUtils.checkUnequal(qq1, qq2);
+ Query qq3 = FunctionScoreQuery.boostByQuery(new TermQuery(new Term(TEXT_FIELD, "b")), new TermQuery(new Term(TEXT_FIELD, "z")), 0.1f);
+ QueryUtils.checkUnequal(qq1, qq3);
+ QueryUtils.checkUnequal(qq2, qq3);
+ Query qq4 = FunctionScoreQuery.boostByQuery(new TermQuery(new Term(TEXT_FIELD, "a")), new TermQuery(new Term(TEXT_FIELD, "zz")), 0.1f);
+ QueryUtils.checkUnequal(qq1, qq4);
+ QueryUtils.checkUnequal(qq2, qq4);
+ QueryUtils.checkUnequal(qq3, qq4);
+ Query qq5 = FunctionScoreQuery.boostByQuery(new TermQuery(new Term(TEXT_FIELD, "a")), new TermQuery(new Term(TEXT_FIELD, "z")), 0.1f);
+ QueryUtils.checkEqual(qq1, qq5);
+
+ }
+
// FunctionQuery equivalent
public void testSimpleSourceScore() throws Exception {