@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 final Query toQuery(QueryShardContext context) throws IOException { Query query = doToQuery(context); if (query != null) { if (boost != DEFAULT_BOOST) { if (query instanceof SpanQuery) { query = new SpanBoostQuery((SpanQuery) query, boost); } else { query = new BoostQuery(query, boost); } } if (queryName != null) { context.addNamedQuery(queryName, query); } } return query; }
return new SpanBoostQuery(spanQuery, boost);
@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 SpanQuery getSpanQuery(Element e) throws ParserException { List<SpanQuery> clausesList = new ArrayList<>(); for (Node kid = e.getFirstChild(); kid != null; kid = kid.getNextSibling()) { if (kid.getNodeType() == Node.ELEMENT_NODE) { SpanQuery clause = factory.getSpanQuery((Element) kid); clausesList.add(clause); } } SpanQuery[] clauses = clausesList.toArray(new SpanQuery[clausesList.size()]); SpanOrQuery soq = new SpanOrQuery(clauses); float boost = DOMUtils.getAttribute(e, "boost", 1.0f); return new SpanBoostQuery(soq, boost); }
@Override public SpanQuery getSpanQuery(Element e) throws ParserException { List<SpanQuery> clausesList = new ArrayList<>(); for (Node kid = e.getFirstChild(); kid != null; kid = kid.getNextSibling()) { if (kid.getNodeType() == Node.ELEMENT_NODE) { SpanQuery clause = factory.getSpanQuery((Element) kid); clausesList.add(clause); } } SpanQuery[] clauses = clausesList.toArray(new SpanQuery[clausesList.size()]); SpanOrQuery soq = new SpanOrQuery(clauses); float boost = DOMUtils.getAttribute(e, "boost", 1.0f); return new SpanBoostQuery(soq, boost); }
@Override public SpanQuery getSpanQuery(Element e) throws ParserException { String slopString = DOMUtils.getAttributeOrFail(e, "slop"); int slop = Integer.parseInt(slopString); boolean inOrder = DOMUtils.getAttribute(e, "inOrder", false); List<SpanQuery> spans = new ArrayList<>(); for (Node kid = e.getFirstChild(); kid != null; kid = kid.getNextSibling()) { if (kid.getNodeType() == Node.ELEMENT_NODE) { spans.add(factory.getSpanQuery((Element) kid)); } } SpanQuery[] spanQueries = spans.toArray(new SpanQuery[spans.size()]); SpanQuery snq = new SpanNearQuery(spanQueries, slop, inOrder); float boost = DOMUtils.getAttribute(e, "boost", 1.0f); return new SpanBoostQuery(snq, boost); }
@Override public SpanQuery getSpanQuery(Element e) throws ParserException { String slopString = DOMUtils.getAttributeOrFail(e, "slop"); int slop = Integer.parseInt(slopString); boolean inOrder = DOMUtils.getAttribute(e, "inOrder", false); List<SpanQuery> spans = new ArrayList<>(); for (Node kid = e.getFirstChild(); kid != null; kid = kid.getNextSibling()) { if (kid.getNodeType() == Node.ELEMENT_NODE) { spans.add(factory.getSpanQuery((Element) kid)); } } SpanQuery[] spanQueries = spans.toArray(new SpanQuery[spans.size()]); SpanQuery snq = new SpanNearQuery(spanQueries, slop, inOrder); float boost = DOMUtils.getAttribute(e, "boost", 1.0f); return new SpanBoostQuery(snq, boost); }
@Override public Query rewrite(IndexReader reader) throws IOException { final SpanQuery rewritten = (SpanQuery) query.rewrite(reader); if (getBoost() == 1f) { return rewritten; } if (rewritten.getClass() == SpanBoostQuery.class) { SpanBoostQuery in = (SpanBoostQuery) rewritten; return new SpanBoostQuery(in.query, getBoost() * in.getBoost()); } if (query != rewritten) { return new SpanBoostQuery(rewritten, getBoost()); } return this; }
@Override public SpanQuery getSpanQuery(Element e) throws ParserException { String fieldName = DOMUtils.getAttributeWithInheritanceOrFail(e, "fieldName"); String value = DOMUtils.getNonBlankTextOrFail(e); SpanTermQuery stq = new SpanTermQuery(new Term(fieldName, value)); float boost = DOMUtils.getAttribute(e, "boost", 1.0f); return new SpanBoostQuery(stq, boost); }
@Override public SpanQuery getSpanQuery(Element e) throws ParserException { String fieldName = DOMUtils.getAttributeWithInheritanceOrFail(e, "fieldName"); String value = DOMUtils.getNonBlankTextOrFail(e); SpanTermQuery stq = new SpanTermQuery(new Term(fieldName, value)); float boost = DOMUtils.getAttribute(e, "boost", 1.0f); return new SpanBoostQuery(stq, boost); }
@Override public Query rewrite(IndexReader reader) throws IOException { final SpanQuery rewritten = (SpanQuery) query.rewrite(reader); if (getBoost() == 1f) { return rewritten; } if (rewritten.getClass() == SpanBoostQuery.class) { SpanBoostQuery in = (SpanBoostQuery) rewritten; return new SpanBoostQuery(in.query, getBoost() * in.getBoost()); } if (query != rewritten) { return new SpanBoostQuery(rewritten, getBoost()); } return this; }
@Override public SpanQuery getSpanQuery(Element e) throws ParserException { String fieldName = DOMUtils.getAttributeWithInheritanceOrFail(e, "fieldName"); String value = DOMUtils.getNonBlankTextOrFail(e); SpanQuery btq = new PayloadTermQuery(new Term(fieldName, value), new AveragePayloadFunction()); btq = new SpanBoostQuery(btq, DOMUtils.getAttribute(e, "boost", 1.0f)); return btq; }
@Override public SpanQuery getSpanQuery(Element e) throws ParserException { String fieldName = DOMUtils.getAttributeWithInheritanceOrFail(e, "fieldName"); String value = DOMUtils.getNonBlankTextOrFail(e); SpanQuery btq = new PayloadTermQuery(new Term(fieldName, value), new AveragePayloadFunction()); btq = new SpanBoostQuery(btq, DOMUtils.getAttribute(e, "boost", 1.0f)); return btq; }
@Override public Query rewrite(IndexReader reader) throws IOException { if (super.getBoost() != 1f) { SpanQuery rewritten = (SpanQuery) clone(); rewritten.setBoost(1f); return new SpanBoostQuery(rewritten, super.getBoost()); } return this; } }
@Override public Query rewrite(IndexReader reader) throws IOException { if (super.getBoost() != 1f) { SpanQuery rewritten = (SpanQuery) clone(); rewritten.setBoost(1f); return new SpanBoostQuery(rewritten, super.getBoost()); } return this; } }
@Override public SpanQuery getSpanQuery(Element e) throws ParserException { int end = DOMUtils.getAttribute(e, "end", 1); Element child = DOMUtils.getFirstChildElement(e); SpanQuery q = factory.getSpanQuery(child); SpanFirstQuery sfq = new SpanFirstQuery(q, end); float boost = DOMUtils.getAttribute(e, "boost", 1.0f); return new SpanBoostQuery(sfq, boost); }
@Override public SpanQuery getSpanQuery(Element e) throws ParserException { int end = DOMUtils.getAttribute(e, "end", 1); Element child = DOMUtils.getFirstChildElement(e); SpanQuery q = factory.getSpanQuery(child); SpanFirstQuery sfq = new SpanFirstQuery(q, end); float boost = DOMUtils.getAttribute(e, "boost", 1.0f); return new SpanBoostQuery(sfq, boost); }
@Override public SpanQuery getSpanQuery(Element e) throws ParserException { Element includeElem = DOMUtils.getChildByTagOrFail(e, "Include"); includeElem = DOMUtils.getFirstChildOrFail(includeElem); Element excludeElem = DOMUtils.getChildByTagOrFail(e, "Exclude"); excludeElem = DOMUtils.getFirstChildOrFail(excludeElem); SpanQuery include = factory.getSpanQuery(includeElem); SpanQuery exclude = factory.getSpanQuery(excludeElem); SpanNotQuery snq = new SpanNotQuery(include, exclude); float boost = DOMUtils.getAttribute(e, "boost", 1.0f); return new SpanBoostQuery(snq, boost); }
@Override public SpanQuery getSpanQuery(Element e) throws ParserException { Element includeElem = DOMUtils.getChildByTagOrFail(e, "Include"); includeElem = DOMUtils.getFirstChildOrFail(includeElem); Element excludeElem = DOMUtils.getChildByTagOrFail(e, "Exclude"); excludeElem = DOMUtils.getFirstChildOrFail(excludeElem); SpanQuery include = factory.getSpanQuery(includeElem); SpanQuery exclude = factory.getSpanQuery(excludeElem); SpanNotQuery snq = new SpanNotQuery(include, exclude); float boost = DOMUtils.getAttribute(e, "boost", 1.0f); return new SpanBoostQuery(snq, boost); }