Package org.elasticsearch.index.query
Class WildcardQueryBuilder
java.lang.Object
org.elasticsearch.index.query.AbstractQueryBuilder<WildcardQueryBuilder>
org.elasticsearch.index.query.WildcardQueryBuilder
- All Implemented Interfaces:
NamedWriteable
,Writeable
,org.elasticsearch.common.xcontent.ToXContent
,org.elasticsearch.common.xcontent.ToXContentObject
,MultiTermQueryBuilder
,QueryBuilder
,Rewriteable<QueryBuilder>
public class WildcardQueryBuilder extends AbstractQueryBuilder<WildcardQueryBuilder> implements MultiTermQueryBuilder
Implements the wildcard search query. Supported wildcards are
*
, which
matches any character sequence (including the empty one), and ?
,
which matches any single character. Note this query can be slow, as it
needs to iterate over many terms. In order to prevent extremely slow WildcardQueries,
a Wildcard term should not start with one of the wildcards *
or
?
.-
Nested Class Summary
Nested classes/interfaces inherited from interface org.elasticsearch.common.xcontent.ToXContent
org.elasticsearch.common.xcontent.ToXContent.DelegatingMapParams, org.elasticsearch.common.xcontent.ToXContent.MapParams, org.elasticsearch.common.xcontent.ToXContent.Params
Nested classes/interfaces inherited from interface org.elasticsearch.common.io.stream.Writeable
Writeable.Reader<V>, Writeable.Writer<V>
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
NAME
Fields inherited from class org.elasticsearch.index.query.AbstractQueryBuilder
boost, BOOST_FIELD, DEFAULT_BOOST, NAME_FIELD, queryName
-
Constructor Summary
Constructors Constructor Description WildcardQueryBuilder(java.lang.String fieldName, java.lang.String value)
Implements the wildcard search query.WildcardQueryBuilder(StreamInput in)
Read from a stream. -
Method Summary
Modifier and Type Method Description protected boolean
doEquals(WildcardQueryBuilder other)
Indicates whether some otherQueryBuilder
object of the same type is "equal to" this one.protected int
doHashCode()
protected QueryBuilder
doRewrite(QueryRewriteContext queryRewriteContext)
protected org.apache.lucene.search.Query
doToQuery(QueryShardContext context)
protected void
doWriteTo(StreamOutput out)
protected void
doXContent(org.elasticsearch.common.xcontent.XContentBuilder builder, org.elasticsearch.common.xcontent.ToXContent.Params params)
java.lang.String
fieldName()
Get the field name for this query.static WildcardQueryBuilder
fromXContent(org.elasticsearch.common.xcontent.XContentParser parser)
java.lang.String
getWriteableName()
Returns the name of the writeable objectjava.lang.String
rewrite()
WildcardQueryBuilder
rewrite(java.lang.String rewrite)
java.lang.String
value()
Methods inherited from class org.elasticsearch.index.query.AbstractQueryBuilder
addValidationError, boost, boost, checkNegativeBoost, declareStandardFields, equals, extractInnerHitBuilders, getName, hashCode, parseInnerQueryBuilder, printBoostAndQueryName, queryName, queryName, requireValue, rewrite, throwParsingExceptionOnMultipleFields, toQuery, toString, toXContent, writeTo
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Field Details
-
NAME
public static final java.lang.String NAME- See Also:
- Constant Field Values
-
-
Constructor Details
-
WildcardQueryBuilder
public WildcardQueryBuilder(java.lang.String fieldName, java.lang.String value)Implements the wildcard search query. Supported wildcards are*
, which matches any character sequence (including the empty one), and?
, which matches any single character. Note this query can be slow, as it needs to iterate over many terms. In order to prevent extremely slow WildcardQueries, a Wildcard term should not start with one of the wildcards*
or?
.- Parameters:
fieldName
- The field namevalue
- The wildcard query string
-
WildcardQueryBuilder
Read from a stream.- Throws:
java.io.IOException
-
-
Method Details
-
doWriteTo
- Specified by:
doWriteTo
in classAbstractQueryBuilder<WildcardQueryBuilder>
- Throws:
java.io.IOException
-
fieldName
public java.lang.String fieldName()Description copied from interface:MultiTermQueryBuilder
Get the field name for this query.- Specified by:
fieldName
in interfaceMultiTermQueryBuilder
-
value
public java.lang.String value() -
rewrite
-
rewrite
public java.lang.String rewrite() -
getWriteableName
public java.lang.String getWriteableName()Description copied from interface:NamedWriteable
Returns the name of the writeable object- Specified by:
getWriteableName
in interfaceNamedWriteable
-
doXContent
protected void doXContent(org.elasticsearch.common.xcontent.XContentBuilder builder, org.elasticsearch.common.xcontent.ToXContent.Params params) throws java.io.IOException- Specified by:
doXContent
in classAbstractQueryBuilder<WildcardQueryBuilder>
- Throws:
java.io.IOException
-
fromXContent
public static WildcardQueryBuilder fromXContent(org.elasticsearch.common.xcontent.XContentParser parser) throws java.io.IOException- Throws:
java.io.IOException
-
doRewrite
protected QueryBuilder doRewrite(QueryRewriteContext queryRewriteContext) throws java.io.IOException- Overrides:
doRewrite
in classAbstractQueryBuilder<WildcardQueryBuilder>
- Throws:
java.io.IOException
-
doToQuery
protected org.apache.lucene.search.Query doToQuery(QueryShardContext context) throws java.io.IOException- Specified by:
doToQuery
in classAbstractQueryBuilder<WildcardQueryBuilder>
- Throws:
java.io.IOException
-
doHashCode
protected int doHashCode()- Specified by:
doHashCode
in classAbstractQueryBuilder<WildcardQueryBuilder>
-
doEquals
Description copied from class:AbstractQueryBuilder
Indicates whether some otherQueryBuilder
object of the same type is "equal to" this one.- Specified by:
doEquals
in classAbstractQueryBuilder<WildcardQueryBuilder>
-