public QueryBuilder pathPrefix(String pathPrefix) { Term term = new Term(FieldNames.PATH, pathPrefix); queries.add(new PrefixQuery(term)); return this; }
public static Query newRangeSeekByPrefixQuery( String prefix ) { Term term = new Term( ValueEncoding.String.key( 0 ), prefix ); return USE_LUCENE_STANDARD_PREFIX_QUERY ? new PrefixQuery( term ) : new PrefixMultiTermsQuery( term ); }
protected Query startsWith(QueryMetadata metadata, Operation<?> operation, boolean ignoreCase) { verifyArguments(operation); Path<?> path = getPath(operation.getArg(0)); String field = toField(path); String[] terms = convertEscaped(path, operation.getArg(1), metadata); if (terms.length > 1) { BooleanQuery bq = new BooleanQuery(); for (int i = 0; i < terms.length; ++i) { String s = i == 0 ? terms[i] + "*" : "*" + terms[i] + "*"; bq.add(new WildcardQuery(new Term(field, s)), Occur.MUST); } return bq; } return new PrefixQuery(new Term(field, terms[0])); }
protected Query startsWith(QueryMetadata metadata, Operation<?> operation, boolean ignoreCase) { verifyArguments(operation); Path<?> path = getPath(operation.getArg(0)); String field = toField(path); String[] terms = convertEscaped(path, operation.getArg(1), metadata); if (terms.length > 1) { BooleanQuery bq = new BooleanQuery(); for (int i = 0; i < terms.length; ++i) { String s = i == 0 ? terms[i] + "*" : "*" + terms[i] + "*"; bq.add(new WildcardQuery(new Term(field, s)), Occur.MUST); } return bq; } return new PrefixQuery(new Term(field, terms[0])); }
protected Query startsWith(QueryMetadata metadata, Operation<?> operation, boolean ignoreCase) { verifyArguments(operation); Path<?> path = getPath(operation.getArg(0)); String field = toField(path); String[] terms = convertEscaped(path, operation.getArg(1), metadata); if (terms.length > 1) { BooleanQuery bq = new BooleanQuery(); for (int i = 0; i < terms.length; ++i) { String s = i == 0 ? terms[i] + "*" : "*" + terms[i] + "*"; bq.add(new WildcardQuery(new Term(field, s)), Occur.MUST); } return bq; } return new PrefixQuery(new Term(field, terms[0])); }
termQuery.add(new PrefixQuery(new Term("name", queryString)), BooleanClause.Occur.SHOULD); } else { List<String> list = new ArrayList<String>();
@Override public org.apache.lucene.search.Query getLuceneQuery() { org.apache.lucene.search.PrefixQuery luceneQuery = new org.apache.lucene.search.PrefixQuery(new Term(field, term)); luceneQuery.setBoost(boost); return luceneQuery; }
public static Query newNestedFilter() { return new PrefixQuery(new Term(TypeFieldMapper.NAME, new BytesRef("__"))); }
@Override public Query prefixQuery(String value, MultiTermQuery.RewriteMethod method, QueryShardContext context) { failIfNotIndexed(); PrefixQuery query = new PrefixQuery(new Term(name(), indexedValueForSearch(value))); if (method != null) { query.setRewriteMethod(method); } return query; }
return new PrefixQuery(new Term(field, termStr)); return new PrefixQuery(new Term(field, tlist.get(0).get(0))); if (plist.size() == 1) { if (isLastPos) { posQuery = new PrefixQuery(new Term(field, plist.get(0))); } else { posQuery = newTermQuery(new Term(field, plist.get(0))); BooleanQuery.Builder innerBuilder = new BooleanQuery.Builder(); for (BytesRef token : plist) { innerBuilder.add(new BooleanClause(new PrefixQuery(new Term(field, token)), BooleanClause.Occur.SHOULD));
@Override protected Query doToQuery(QueryShardContext context) throws IOException { MultiTermQuery.RewriteMethod method = QueryParsers.parseRewriteMethod(rewrite, null, LoggingDeprecationHandler.INSTANCE); Query query = null; MappedFieldType fieldType = context.fieldMapper(fieldName); if (fieldType != null) { query = fieldType.prefixQuery(value, method, context); } if (query == null) { PrefixQuery prefixQuery = new PrefixQuery(new Term(fieldName, BytesRefs.toBytesRef(value))); if (method != null) { prefixQuery.setRewriteMethod(method); } query = prefixQuery; } return query; }
for (int j = 0; j < terms[i].length; j++) { if (i == sizeMinus1) { innerQueries[j] = new SpanMultiTermQueryWrapper(new PrefixQuery(terms[i][j])); } else { innerQueries[j] = new SpanTermQuery(terms[i][j]);
private Query toSpanQueryPrefix(SpanQuery query, float boost) { if (query instanceof SpanTermQuery) { SpanMultiTermQueryWrapper<PrefixQuery> ret = new SpanMultiTermQueryWrapper<>(new PrefixQuery(((SpanTermQuery) query).getTerm())); return boost == 1 ? ret : new BoostQuery(ret, boost); } else if (query instanceof SpanNearQuery) { SpanNearQuery spanNearQuery = (SpanNearQuery) query; SpanQuery[] clauses = spanNearQuery.getClauses(); if (clauses[clauses.length - 1] instanceof SpanTermQuery) { clauses[clauses.length - 1] = new SpanMultiTermQueryWrapper<>( new PrefixQuery(((SpanTermQuery) clauses[clauses.length - 1]).getTerm()) ); } SpanNearQuery newQuery = new SpanNearQuery(clauses, spanNearQuery.getSlop(), spanNearQuery.isInOrder()); return boost == 1 ? newQuery : new BoostQuery(newQuery, boost); } else if (query instanceof SpanOrQuery) { SpanOrQuery orQuery = (SpanOrQuery) query; SpanQuery[] clauses = new SpanQuery[orQuery.getClauses().length]; for (int i = 0; i < clauses.length; i++) { clauses[i] = (SpanQuery) toSpanQueryPrefix(orQuery.getClauses()[i], 1); } return boost == 1 ? new SpanOrQuery(clauses) : new BoostQuery(new SpanOrQuery(clauses), boost); } else { return query; } }
PrefixQuery prefixQuery = new PrefixQuery(new Term(fieldName, prefixBuilder.value())); if (prefixBuilder.rewrite() != null) { MultiTermQuery.RewriteMethod rewriteMethod =
/** {@inheritDoc} */ @Override public Query doQuery(SingleColumnMapper<?> mapper, Analyzer analyzer) { if (mapper.base == String.class) { Term term = new Term(field, value); return new PrefixQuery(term); } else { throw new IndexException("Prefix queries are not supported by mapper '{}'", mapper); } }
/** * {@inheritDoc} */ @Override public Query toQuery() { if (isEmpty()) return null; return new PrefixQuery(this._prefix); }
public static PrefixQuery build(final Term term) { final PrefixQuery prefixQuery = new PrefixQuery(term); prefixQuery.setRewriteMethod(PrefixQuery.CONSTANT_SCORE_FILTER_REWRITE); return prefixQuery; } }
public static Query buildSingleFieldMultiValuePrefixQuery(String field, Collection values, boolean andQuery) { BooleanQuery query = new BooleanQuery(); BooleanClause.Occur occur = andQuery ? BooleanClause.Occur.MUST : BooleanClause.Occur.SHOULD; for (Iterator iterator = values.iterator(); iterator.hasNext();) { String value = (String) iterator.next(); query.add(new PrefixQuery(new Term(field, value)), occur); } return query; }
@Override public Query prefixQuery(String value, MultiTermQuery.RewriteMethod method, QueryShardContext context) { failIfNotIndexed(); PrefixQuery query = new PrefixQuery(new Term(name(), indexedValueForSearch(value))); if (method != null) { query.setRewriteMethod(method); } return query; }
@Test public void testExtractFieldNameFromPrefixQuery() { PrefixQuery query = new PrefixQuery( new Term( "stringField", "foo*" ) ); assertFieldNames( query, FieldType.STRING, "stringField" ); }