@Override public Query rewrite(IndexReader reader) throws IOException { SpanQuery rewrittenInclude = (SpanQuery) include.rewrite(reader); SpanQuery rewrittenExclude = (SpanQuery) exclude.rewrite(reader); if (rewrittenInclude != include || rewrittenExclude != exclude) { return new SpanNotQuery(rewrittenInclude, rewrittenExclude, pre, post); } return super.rewrite(reader); } /** Returns true iff <code>o</code> is equal to this. */
@Override public Query rewrite(IndexReader reader) throws IOException { SpanQuery rewrittenBig = (SpanQuery) big.rewrite(reader); SpanQuery rewrittenLittle = (SpanQuery) little.rewrite(reader); if (big != rewrittenBig || little != rewrittenLittle) { try { SpanContainQuery clone = (SpanContainQuery) super.clone(); clone.big = rewrittenBig; clone.little = rewrittenLittle; return clone; } catch (CloneNotSupportedException e) { throw new AssertionError(e); } } return super.rewrite(reader); }
@Override public Query rewrite(IndexReader reader) throws IOException { SpanQuery rewritten = (SpanQuery) match.rewrite(reader); if (rewritten != match) { try { SpanPositionCheckQuery clone = (SpanPositionCheckQuery) this.clone(); clone.match = rewritten; return clone; } catch (CloneNotSupportedException e) { throw new AssertionError(e); } } return super.rewrite(reader); }
@Override public Query rewrite(IndexReader reader) throws IOException { boolean actuallyRewritten = false; List<SpanQuery> rewrittenClauses = new ArrayList<>(); for (int i = 0 ; i < clauses.size(); i++) { SpanQuery c = clauses.get(i); SpanQuery query = (SpanQuery) c.rewrite(reader); actuallyRewritten |= query != c; rewrittenClauses.add(query); } if (actuallyRewritten) { try { SpanNearQuery rewritten = (SpanNearQuery) clone(); rewritten.clauses = rewrittenClauses; return rewritten; } catch (CloneNotSupportedException e) { throw new AssertionError(e); } } return super.rewrite(reader); }
@Override public Query rewrite(IndexReader reader) throws IOException { if (boost == 1f) { return query; } final SpanQuery rewritten = (SpanQuery) query.rewrite(reader); if (query != rewritten) { return new SpanBoostQuery(rewritten, boost); } if (query.getClass() == SpanBoostQuery.class) { SpanBoostQuery in = (SpanBoostQuery) query; return new SpanBoostQuery(in.query, boost * in.boost); } return super.rewrite(reader); }
@Override public Query rewrite(IndexReader reader) throws IOException { SpanOrQuery rewritten = new SpanOrQuery(); boolean actuallyRewritten = false; for (int i = 0 ; i < clauses.size(); i++) { SpanQuery c = clauses.get(i); SpanQuery query = (SpanQuery) c.rewrite(reader); actuallyRewritten |= query != c; rewritten.addClause(query); } if (actuallyRewritten) { return rewritten; } return super.rewrite(reader); }
@Override public Query rewrite(IndexReader reader) throws IOException { SpanQuery rewrittenInclude = (SpanQuery) include.rewrite(reader); SpanQuery rewrittenExclude = (SpanQuery) exclude.rewrite(reader); if (rewrittenInclude != include || rewrittenExclude != exclude) { return new SpanNotQuery(rewrittenInclude, rewrittenExclude, pre, post); } return super.rewrite(reader); } /** Returns true iff <code>o</code> is equal to this. */
@Override public Query rewrite(IndexReader reader) throws IOException { Query matchRewritten = wrappedQuery.rewrite(reader); if (wrappedQuery != matchRewritten && matchRewritten instanceof SpanQuery) { return new PayloadScoreQuery((SpanQuery)matchRewritten, function, decoder, includeSpanScore); } return super.rewrite(reader); }
@Override public Query rewrite(IndexReader reader) throws IOException { if (getBoost() != 1f) { return super.rewrite(reader); } SpanQuery rewrittenInclude = (SpanQuery) include.rewrite(reader); SpanQuery rewrittenExclude = (SpanQuery) exclude.rewrite(reader); if (rewrittenInclude != include || rewrittenExclude != exclude) { return new SpanNotQuery(rewrittenInclude, rewrittenExclude, pre, post); } return super.rewrite(reader); } /** Returns true iff <code>o</code> is equal to this. */
@Override public Query rewrite(IndexReader reader) throws IOException { if (getBoost() != 1f) { return super.rewrite(reader); } SpanQuery rewrittenInclude = (SpanQuery) include.rewrite(reader); SpanQuery rewrittenExclude = (SpanQuery) exclude.rewrite(reader); if (rewrittenInclude != include || rewrittenExclude != exclude) { return new SpanNotQuery(rewrittenInclude, rewrittenExclude, pre, post); } return super.rewrite(reader); } /** Returns true iff <code>o</code> is equal to this. */
@Override public Query rewrite(IndexReader reader) throws IOException { if (getBoost() != 1f) { return super.rewrite(reader); } FieldMaskingSpanQuery clone = null; SpanQuery rewritten = (SpanQuery) maskedQuery.rewrite(reader); if (rewritten != maskedQuery) { return new FieldMaskingSpanQuery(rewritten, field); } return super.rewrite(reader); }
@Override public Query rewrite(IndexReader reader) throws IOException { if (getBoost() != 1f) { return super.rewrite(reader); } FieldMaskingSpanQuery clone = null; SpanQuery rewritten = (SpanQuery) maskedQuery.rewrite(reader); if (rewritten != maskedQuery) { return new FieldMaskingSpanQuery(rewritten, field); } return super.rewrite(reader); }
@Override public Query rewrite(IndexReader reader) throws IOException { if (getBoost() != 1f) { return super.rewrite(reader); } SpanQuery rewritten = (SpanQuery) match.rewrite(reader); if (rewritten != match) { SpanPositionCheckQuery clone = (SpanPositionCheckQuery) this.clone(); clone.match = rewritten; return clone; } return super.rewrite(reader); }
public Query rewrite(IndexReader reader) throws IOException { SpanFirstQuery clone = null; SpanQuery rewritten = (SpanQuery) match.rewrite(reader); if (rewritten != match) { clone = (SpanFirstQuery) this.clone(); clone.match = rewritten; } if (clone != null) { return clone; // some clauses rewrote } else { return this; // no clauses rewrote } }
@Override public Query rewrite(IndexReader reader) throws IOException { if (getBoost() != 1f) { return super.rewrite(reader); } return rewriteMethod.rewrite(reader, query); }
@Override public Query rewrite(IndexReader reader) throws IOException { if (getBoost() != 1f) { return super.rewrite(reader); } return rewriteMethod.rewrite(reader, query); }