Java Code Examples for org.apache.lucene.search.DoubleValuesSource#constant()
The following examples show how to use
org.apache.lucene.search.DoubleValuesSource#constant() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: TestFunctionScoreQuery.java From lucene-solr with Apache License 2.0 | 6 votes |
public void testAccessToValueSource() throws Exception { FunctionScoreQuery q1 = new FunctionScoreQuery(new TermQuery(new Term(TEXT_FIELD, "a")), DoubleValuesSource.constant(31)); Query q2 = new FunctionScoreQuery(q1.getWrappedQuery(), q1.getSource()); QueryUtils.check(q2); QueryUtils.checkEqual(q2, q1); FunctionScoreQuery q3 = new FunctionScoreQuery(new TermQuery(new Term(TEXT_FIELD, "first")), DoubleValuesSource.fromIntField(INT_FIELD)); Query q4 = new FunctionScoreQuery(q3.getWrappedQuery(), q3.getSource()); QueryUtils.checkEqual(q3, q4); SimpleBindings bindings = new SimpleBindings(); bindings.add("score", DoubleValuesSource.SCORES); Expression expr = JavascriptCompiler.compile("ln(score + 4)"); FunctionScoreQuery q5 = new FunctionScoreQuery(new TermQuery(new Term(TEXT_FIELD, "text")), expr.getDoubleValuesSource(bindings)); Query q6 = new FunctionScoreQuery(q5.getWrappedQuery(), q5.getSource()); QueryUtils.checkEqual(q5, q6); }
Example 2
Source File: DerivedExpressionQuery.java From elasticsearch-learning-to-rank with Apache License 2.0 | 6 votes |
@Override public Scorer scorer(LeafReaderContext context) throws IOException { Bindings bindings = new Bindings(){ @Override public DoubleValuesSource getDoubleValuesSource(String name) { Double queryParamValue = queryParamValues.get(name); if (queryParamValue != null) { return DoubleValuesSource.constant(queryParamValue); } return new FVDoubleValuesSource(vectorSupplier, features.featureOrdinal(name)); } }; DocIdSetIterator iterator = DocIdSetIterator.all(context.reader().maxDoc()); DoubleValuesSource src = expression.getDoubleValuesSource(bindings); DoubleValues values = src.getValues(context, null); return new DValScorer(this, iterator, values); }
Example 3
Source File: TestFunctionScoreExplanations.java From lucene-solr with Apache License 2.0 | 5 votes |
public void testTopLevelBoost() throws Exception { Query q = new TermQuery(new Term(FIELD, "w1")); FunctionScoreQuery csq = new FunctionScoreQuery(q, DoubleValuesSource.constant(5)); BooleanQuery.Builder bqB = new BooleanQuery.Builder(); bqB.add(new MatchAllDocsQuery(), BooleanClause.Occur.MUST); bqB.add(csq, BooleanClause.Occur.MUST); BooleanQuery bq = bqB.build(); qtest(new BoostQuery(bq, 6), new int[] { 0,1,2,3 }); }
Example 4
Source File: TestFunctionScoreQuery.java From lucene-solr with Apache License 2.0 | 5 votes |
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); }
Example 5
Source File: TestFunctionScoreExplanations.java From lucene-solr with Apache License 2.0 | 4 votes |
public void testOneTerm() throws Exception { Query q = new TermQuery(new Term(FIELD, "w1")); FunctionScoreQuery fsq = new FunctionScoreQuery(q, DoubleValuesSource.constant(5)); qtest(fsq, new int[] { 0,1,2,3 }); }
Example 6
Source File: TestFunctionScoreExplanations.java From lucene-solr with Apache License 2.0 | 4 votes |
public void testBoost() throws Exception { Query q = new TermQuery(new Term(FIELD, "w1")); FunctionScoreQuery csq = new FunctionScoreQuery(q, DoubleValuesSource.constant(5)); qtest(new BoostQuery(csq, 4), new int[] { 0,1,2,3 }); }