@Override public Query rewrite(IndexReader reader) throws IOException { Query rewritten = query.rewrite(reader); if (rewritten != query) { return new ConstantScoreQuery(rewritten); } if (rewritten.getClass() == ConstantScoreQuery.class) { return rewritten; } if (rewritten.getClass() == BoostQuery.class) { return new ConstantScoreQuery(((BoostQuery) rewritten).getQuery()); } return super.rewrite(reader); }
BoostQuery bq = (BoostQuery) query; boost *= bq.getBoost(); query = bq.getQuery(); BoostQuery bq = (BoostQuery) query; boost *= bq.getBoost(); query = bq.getQuery(); if (must instanceof BoostQuery) { BoostQuery boostQuery = (BoostQuery) must; must = boostQuery.getQuery(); boost = boostQuery.getBoost();
private static void planBoostQuery(final StringBuilder builder, final BoostQuery query) { toPlan(builder, query.getQuery()); builder.append(",boost=" + query.getBoost() + ")"); }
while (query instanceof BoostQuery) { BoostQuery bq = (BoostQuery) query; query = bq.getQuery(); boost *= bq.getBoost();
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; } }
termQuery = ((BoostQuery) termQuery).getQuery();
query = ((ConstantScoreQuery) query).getQuery(); } else if (query instanceof BoostQuery) { query = ((BoostQuery) query).getQuery(); } else { break;
return mightMatchNestedDocs(((ConstantScoreQuery) query).getQuery()); } else if (query instanceof BoostQuery) { return mightMatchNestedDocs(((BoostQuery) query).getQuery()); } else if (query instanceof MatchAllDocsQuery) { return true;
return mightMatchNonNestedDocs(((ConstantScoreQuery) query).getQuery(), nestedPath); } else if (query instanceof BoostQuery) { return mightMatchNonNestedDocs(((BoostQuery) query).getQuery(), nestedPath); } else if (query instanceof MatchAllDocsQuery) { return true;
} else if (subQuery instanceof BoostQuery) { BoostQuery boostQuery = (BoostQuery) subQuery; subQuery = boostQuery.getQuery(); boost *= boostQuery.getBoost(); } else {
BoostQuery boostQuery = (BoostQuery) query; boosts.add(boostQuery.getBoost()); query = boostQuery.getQuery();
private static BiFunction<Query, Version, Result> boostQuery() { return (query, version) -> { Query wrappedQuery = ((BoostQuery) query).getQuery(); return analyze(wrappedQuery, version); }; }
private static BiFunction<Query, Version, Result> boostQuery() { return (query, version) -> { Query wrappedQuery = ((BoostQuery) query).getQuery(); return analyze(wrappedQuery, version); }; }
if (sourceQuery instanceof BoostQuery) { BoostQuery bq = (BoostQuery) sourceQuery; sourceQuery = bq.getQuery(); boost *= bq.getBoost(); flatten(sourceQuery, reader, flatQueries, boost);
BoostQuery bq = (BoostQuery) innerQuery; boost *= bq.getBoost(); innerQuery = bq.getQuery();
public Collection<Query> decomposeBoostQuery(BoostQuery q) { if (q.getBoost() == 1.0) return decompose(q.getQuery()); List<Query> boostedDecomposedQueries = new ArrayList<>(); for (Query subq : decompose(q.getQuery())) { boostedDecomposedQueries.add(new BoostQuery(subq, q.getBoost())); } return boostedDecomposedQueries; }
protected void flattenQuery(BoostQuery query, float pathBoost, Object sourceOverride, IndexReader reader, Callback callback) { flatten(query.getQuery(), query.getBoost() * pathBoost, sourceOverride, reader, callback); }
protected static void assertTermOrBoostQuery(Query query, String field, String value, float fieldBoost) { if (fieldBoost != AbstractQueryBuilder.DEFAULT_BOOST) { assertThat(query, instanceOf(BoostQuery.class)); BoostQuery boostQuery = (BoostQuery) query; assertThat(boostQuery.getBoost(), equalTo(fieldBoost)); query = boostQuery.getQuery(); } assertTermQuery(query, field, value); }
@Override public Query rewrite(IndexReader reader) throws IOException { Query rewritten = query.rewrite(reader); if (rewritten != query) { return new ConstantScoreQuery(rewritten); } if (rewritten.getClass() == ConstantScoreQuery.class) { return rewritten; } if (rewritten.getClass() == BoostQuery.class) { return new ConstantScoreQuery(((BoostQuery) rewritten).getQuery()); } return super.rewrite(reader); }
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; } }