@Override protected void addClause(List<SpanQuery> topLevel, Term term, int docFreq, float boost, TermContext states) { final SpanTermQuery q = new SpanTermQuery(term, states); topLevel.add(q); } };
/** * Creates a span query from the tokenstream. In the case of a single token, a simple <code>SpanTermQuery</code> is * returned. When multiple tokens, an ordered <code>SpanNearQuery</code> with slop 0 is returned. */ protected SpanQuery createSpanQuery(TokenStream in, String field) throws IOException { TermToBytesRefAttribute termAtt = in.getAttribute(TermToBytesRefAttribute.class); if (termAtt == null) { return null; } List<SpanTermQuery> terms = new ArrayList<>(); while (in.incrementToken()) { terms.add(new SpanTermQuery(new Term(field, termAtt.getBytesRef()))); } if (terms.isEmpty()) { return null; } else if (terms.size() == 1) { return terms.get(0); } else { return new SpanNearQuery(terms.toArray(new SpanTermQuery[0]), 0, true); } }
assert terms.length > 0; if (terms.length == 1) { queryPos = new SpanTermQuery(terms[0]); } else { if (terms.length >= maxClauseCount) { orClauses[idx] = new SpanTermQuery(terms[idx]);
@Override protected void addClause(List<SpanQuery> topLevel, Term term, int docCount, float boost, TermContext states) { SpanTermQuery q = new SpanTermQuery(term, states); topLevel.add(q); } };
@Override protected SpanQuery doToQuery(QueryShardContext context) throws IOException { MappedFieldType mapper = context.fieldMapper(fieldName); Term term; if (mapper == null) { term = new Term(fieldName, BytesRefs.toBytesRef(value)); } else { Query termQuery = mapper.termQuery(value, context); term = MappedFieldType.extractTerm(termQuery); } return new SpanTermQuery(term); }
innerQueries[j] = new SpanMultiTermQueryWrapper(new PrefixQuery(terms[i][j])); } else { innerQueries[j] = new SpanTermQuery(terms[i][j]);
SpanTermQuery spanTermQuery = new SpanTermQuery(((TermQuery) subQuery).getTerm()); spanQuery = new FieldMaskingSpanQuery(spanTermQuery, fieldName);
/** * Expert: Construct a SpanTermQuery matching the named term's spans, using * the provided TermContext. * * @param term term to search * @param context TermContext to use to search the term */ public BLSpanTermQuery(Term term, TermContext context) { query = new SpanTermQuery(term, context); termContext = context; }
@Override protected void addClause(List<SpanQuery> topLevel, Term term, int docFreq, float boost, TermContext states) { final SpanTermQuery q = new SpanTermQuery(term, states); topLevel.add(q); } };
@Override protected void addClause(List<SpanQuery> topLevel, Term term, int docFreq, float boost, TermContext states) { final SpanTermQuery q = new SpanTermQuery(term, states); topLevel.add(q); } };
@Override protected void addClause(List<SpanQuery> topLevel, Term term, int docCount, float boost, TermContext states) { SpanTermQuery q = new SpanTermQuery(term, states); topLevel.add(q); } };
@Override protected void addClause(List<SpanQuery> topLevel, Term term, int docCount, float boost, TermContext states) { SpanTermQuery q = new SpanTermQuery(term, states); topLevel.add(q); } };
@Override protected Query newTermQuery(Term term) { return new PayloadScoreQuery(new SpanTermQuery(term), payloadFunction, includeSpanScore); } }
private static Query[] getPrebuiltQueries(String field) { // be wary of unanalyzed text return new Query[] { new SpanFirstQuery(new SpanTermQuery(new Term(field, "ford")), 5), new SpanNearQuery(new SpanQuery[]{new SpanTermQuery(new Term(field, "night")), new SpanTermQuery(new Term(field, "trading"))}, 4, false), new SpanNearQuery(new SpanQuery[]{new SpanFirstQuery(new SpanTermQuery(new Term(field, "ford")), 10), new SpanTermQuery(new Term(field, "credit"))}, 10, false), new WildcardQuery(new Term(field, "fo*")), }; }
public SearchEngineSpanQuery spanFirst(String resourcePropertyName, String value, int end) { SpanQuery spanQuery = new SpanFirstQuery(new SpanTermQuery(new Term(resourcePropertyName, value)), end); return new LuceneSearchEngineQuery.LuceneSearchEngineSpanQuery(searchEngineFactory, spanQuery); }
@Override final public SpanQuery getQuery(final QueryContext queryContext) { return new org.apache.lucene.search.spans.SpanTermQuery(getResolvedTerm(queryContext.getFieldMap(), value)); } }
@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 protected SpanQuery doToQuery(QueryShardContext context) throws IOException { MappedFieldType mapper = context.fieldMapper(fieldName); Term term; if (mapper == null) { term = new Term(fieldName, BytesRefs.toBytesRef(value)); } else { Query termQuery = mapper.termQuery(value, context); term = MappedFieldType.extractTerm(termQuery); } return new SpanTermQuery(term); }
@Override protected SpanQuery doToQuery(QueryShardContext context) throws IOException { MappedFieldType mapper = context.fieldMapper(fieldName); Term term; if (mapper == null) { term = new Term(fieldName, BytesRefs.toBytesRef(value)); } else { Query termQuery = mapper.termQuery(value, context); term = MappedFieldType.extractTerm(termQuery); } return new SpanTermQuery(term); }