@Test void shouldBuildQueryRepresentingBoolProperty() { // given BooleanQuery booleanQuery = (BooleanQuery) newSeekQuery( true ); ConstantScoreQuery constantScoreQuery = (ConstantScoreQuery) booleanQuery.clauses().get( 0 ).getQuery(); TermQuery query = (TermQuery) constantScoreQuery.getQuery(); // then assertEquals( "true", query.getTerm().text() ); }
@Test void shouldBuildQueryRepresentingStringProperty() { // given BooleanQuery booleanQuery = (BooleanQuery) newSeekQuery( "Characters" ); ConstantScoreQuery query = (ConstantScoreQuery) booleanQuery.clauses().get( 0 ).getQuery(); // then assertEquals( "Characters", ((TermQuery) query.getQuery()).getTerm().text() ); }
@Test void shouldBuildQueryRepresentingArrayProperty() { // given BooleanQuery booleanQuery = (BooleanQuery) newSeekQuery( new Object[]{new Integer[]{1, 2, 3}} ); ConstantScoreQuery constantScoreQuery = (ConstantScoreQuery) booleanQuery.clauses().get( 0 ).getQuery(); TermQuery query = (TermQuery) constantScoreQuery.getQuery(); // then assertEquals( "D1.0|2.0|3.0|", query.getTerm().text() ); }
query = ((ConstantScoreQuery) query).getQuery(); } else { break;
@Test void shouldBuildQueryRepresentingMultipleProperties() { // given BooleanQuery booleanQuery = (BooleanQuery) newSeekQuery( true, "Characters", 12, new Integer[]{1, 2, 3} ); ConstantScoreQuery boolScoreQuery = (ConstantScoreQuery) booleanQuery.clauses().get( 0 ).getQuery(); TermQuery boolTermQuery = (TermQuery) boolScoreQuery.getQuery(); ConstantScoreQuery stringScoreQuery = (ConstantScoreQuery) booleanQuery.clauses().get( 1 ).getQuery(); TermQuery stringTermQuery = (TermQuery) stringScoreQuery.getQuery(); ConstantScoreQuery numberScoreQuery = (ConstantScoreQuery) booleanQuery.clauses().get( 2 ).getQuery(); NumericRangeQuery<Double> numericRangeQuery = (NumericRangeQuery<Double>) numberScoreQuery.getQuery(); ConstantScoreQuery arrayScoreQuery = (ConstantScoreQuery) booleanQuery.clauses().get( 3 ).getQuery(); TermQuery arrayTermQuery = (TermQuery) arrayScoreQuery.getQuery(); // then assertEquals( "true", boolTermQuery.getTerm().text() ); assertEquals( "Characters", stringTermQuery.getTerm().text() ); assertEquals( 12.0, numericRangeQuery.getMin(), 0.001 ); assertEquals( 12.0, numericRangeQuery.getMax(), 0.001 ); assertEquals( "D1.0|2.0|3.0|", arrayTermQuery.getTerm().text() ); }
@SuppressWarnings( "unchecked" ) @Test void shouldBuildQueryRepresentingNumberProperty() { // given BooleanQuery booleanQuery = (BooleanQuery) newSeekQuery( 12 ); ConstantScoreQuery constantScoreQuery = (ConstantScoreQuery) booleanQuery.clauses().get( 0 ).getQuery(); NumericRangeQuery<Double> query = (NumericRangeQuery<Double>) constantScoreQuery.getQuery(); // then assertEquals( 12.0, query.getMin(), 0.001 ); assertEquals( 12.0, query.getMax(),0.001 ); }
private static Query extractQuery(Query query) { if (query instanceof BoostQuery) { return extractQuery(((BoostQuery) query).getQuery()); } else if (query instanceof IndexOrDocValuesQuery) { return extractQuery(((IndexOrDocValuesQuery) query).getIndexQuery()); } else if (query instanceof ConstantScoreQuery){ return extractQuery(((ConstantScoreQuery) query).getQuery()); } else { return query; } }
query = ((ConstantScoreQuery) query).getQuery(); } else if (query instanceof BoostQuery) { query = ((BoostQuery) query).getQuery();
return mightMatchNestedDocs(((ConstantScoreQuery) query).getQuery()); } else if (query instanceof BoostQuery) { return mightMatchNestedDocs(((BoostQuery) query).getQuery());
return mightMatchNonNestedDocs(((ConstantScoreQuery) query).getQuery(), nestedPath); } else if (query instanceof BoostQuery) { return mightMatchNonNestedDocs(((BoostQuery) query).getQuery(), nestedPath);
while (true) { if (subQuery instanceof ConstantScoreQuery) { subQuery = ((ConstantScoreQuery) subQuery).getQuery(); boost = 1; } else if (subQuery instanceof BoostQuery) {
private static BiFunction<Query, Version, Result> constantScoreQuery() { return (query, boosts) -> { Query wrappedQuery = ((ConstantScoreQuery) query).getQuery(); return analyze(wrappedQuery, boosts); }; }
public static boolean isConstantMatchAllQuery(Query query) { if (query instanceof ConstantScoreQuery) { return isConstantMatchAllQuery(((ConstantScoreQuery) query).getQuery()); } else if (query instanceof MatchAllDocsQuery) { return true; } return false; }
private static BiFunction<Query, Version, Result> constantScoreQuery() { return (query, boosts) -> { Query wrappedQuery = ((ConstantScoreQuery) query).getQuery(); return analyze(wrappedQuery, boosts); }; }
public static boolean isConstantMatchAllQuery(Query query) { if (query instanceof ConstantScoreQuery) { return isConstantMatchAllQuery(((ConstantScoreQuery) query).getQuery()); } else if (query instanceof MatchAllDocsQuery) { return true; } return false; }
super.flatten(new TermQuery(((SpanTermQuery) sourceQuery).getTerm()), reader, flatQueries, boost); } else if (sourceQuery instanceof ConstantScoreQuery) { flatten(((ConstantScoreQuery) sourceQuery).getQuery(), reader, flatQueries, boost); } else if (sourceQuery instanceof FunctionScoreQuery) { flatten(((FunctionScoreQuery) sourceQuery).getSubQuery(), reader, flatQueries, boost);
private static Query extractQuery(Query query) { if (query instanceof BoostQuery) { return extractQuery(((BoostQuery) query).getQuery()); } else if (query instanceof IndexOrDocValuesQuery) { return extractQuery(((IndexOrDocValuesQuery) query).getIndexQuery()); } else if (query instanceof ConstantScoreQuery){ return extractQuery(((ConstantScoreQuery) query).getQuery()); } else { return query; } }
private static JsonObject convertConstantScoreQuery(ConstantScoreQuery query) { JsonObject constantScoreQuery = JsonBuilder.object() .add( "constant_score", JsonBuilder.object() .add( "filter", fromLuceneQuery( query.getQuery() ) ) .append( boostAppender( query ) ) ).build(); return constantScoreQuery; }
private static JsonObject convertConstantScoreQuery(ConstantScoreQuery query) { JsonObject constantScoreQuery = JsonBuilder.object() .add( "constant_score", JsonBuilder.object() .add( "filter", fromLuceneQuery( query.getQuery() ) ) .append( boostAppender( query ) ) ).build(); return constantScoreQuery; }
private static JsonObject convertConstantScoreQuery(ConstantScoreQuery query) { JsonObject constantScoreQuery = JsonBuilder.object() .add( "constant_score", JsonBuilder.object() .add( "filter", fromLuceneQuery( query.getQuery() ) ) .addProperty( "boost", query.getBoost() ) ).build(); return constantScoreQuery; }