Class QueryStringQueryBuilder
- All Implemented Interfaces:
NamedWriteable
,Writeable
,org.elasticsearch.common.xcontent.ToXContent
,org.elasticsearch.common.xcontent.ToXContentObject
,QueryBuilder
,Rewriteable<QueryBuilder>
public class QueryStringQueryBuilder extends AbstractQueryBuilder<QueryStringQueryBuilder>
field(String)
, will run the query once and non prefixed fields
will use the defaultField(String)
set. The second, when one or more fields are added
(using field(String)
), will run the parsed query against the provided fields, and combine
them using Dismax.-
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 boolean
DEFAULT_ENABLE_POSITION_INCREMENTS
static boolean
DEFAULT_ESCAPE
static Fuzziness
DEFAULT_FUZZINESS
static int
DEFAULT_FUZZY_MAX_EXPANSIONS
static int
DEFAULT_FUZZY_PREFIX_LENGTH
static boolean
DEFAULT_FUZZY_TRANSPOSITIONS
static int
DEFAULT_MAX_DETERMINED_STATES
static Operator
DEFAULT_OPERATOR
static int
DEFAULT_PHRASE_SLOP
static MultiMatchQueryBuilder.Type
DEFAULT_TYPE
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 QueryStringQueryBuilder(java.lang.String queryString)
QueryStringQueryBuilder(StreamInput in)
Read from a stream. -
Method Summary
Modifier and Type Method Description java.lang.Boolean
allowLeadingWildcard()
QueryStringQueryBuilder
allowLeadingWildcard(java.lang.Boolean allowLeadingWildcard)
Should leading wildcards be allowed or not.java.lang.String
analyzer()
The optional analyzer used to analyze the query string.QueryStringQueryBuilder
analyzer(java.lang.String analyzer)
The optional analyzer used to analyze the query string.java.lang.Boolean
analyzeWildcard()
QueryStringQueryBuilder
analyzeWildcard(java.lang.Boolean analyzeWildcard)
Set totrue
to enable analysis on wildcard and prefix queries.boolean
autoGenerateSynonymsPhraseQuery()
Whether phrase queries should be automatically generated for multi terms synonyms.QueryStringQueryBuilder
autoGenerateSynonymsPhraseQuery(boolean value)
java.lang.String
defaultField()
QueryStringQueryBuilder
defaultField(java.lang.String defaultField)
The default field to run against when no prefix field is specified.Operator
defaultOperator()
QueryStringQueryBuilder
defaultOperator(Operator defaultOperator)
Sets the boolean operator of the query parser used to parse the query string.protected boolean
doEquals(QueryStringQueryBuilder other)
Indicates whether some otherQueryBuilder
object of the same type is "equal to" this one.protected int
doHashCode()
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)
boolean
enablePositionIncrements()
QueryStringQueryBuilder
enablePositionIncrements(boolean enablePositionIncrements)
Set totrue
to enable position increments in result query.boolean
escape()
QueryStringQueryBuilder
escape(boolean escape)
Set totrue
to enable escaping of the query stringQueryStringQueryBuilder
field(java.lang.String field)
Adds a field to run the query string against.QueryStringQueryBuilder
field(java.lang.String field, float boost)
Adds a field to run the query string against with a specific boost.java.util.Map<java.lang.String,java.lang.Float>
fields()
Returns the fields including their respective boosts to run the query against.QueryStringQueryBuilder
fields(java.util.Map<java.lang.String,java.lang.Float> fields)
Add several fields to run the query against with a specific boost.static QueryStringQueryBuilder
fromXContent(org.elasticsearch.common.xcontent.XContentParser parser)
Fuzziness
fuzziness()
QueryStringQueryBuilder
fuzziness(Fuzziness fuzziness)
Set the edit distance for fuzzy queries.int
fuzzyMaxExpansions()
QueryStringQueryBuilder
fuzzyMaxExpansions(int fuzzyMaxExpansions)
int
fuzzyPrefixLength()
QueryStringQueryBuilder
fuzzyPrefixLength(int fuzzyPrefixLength)
Set the minimum prefix length for fuzzy queries.java.lang.String
fuzzyRewrite()
QueryStringQueryBuilder
fuzzyRewrite(java.lang.String fuzzyRewrite)
boolean
fuzzyTranspositions()
QueryStringQueryBuilder
fuzzyTranspositions(boolean fuzzyTranspositions)
Sets whether transpositions are supported in fuzzy queries.java.lang.String
getWriteableName()
Returns the name of the writeable objectjava.lang.Boolean
lenient()
QueryStringQueryBuilder
lenient(java.lang.Boolean lenient)
Sets the query string parser to be lenient when parsing field values, defaults to the index setting and if not set, defaults to false.int
maxDeterminizedStates()
QueryStringQueryBuilder
maxDeterminizedStates(int maxDeterminizedStates)
Protects against too-difficult regular expression queries.java.lang.String
minimumShouldMatch()
QueryStringQueryBuilder
minimumShouldMatch(java.lang.String minimumShouldMatch)
int
phraseSlop()
QueryStringQueryBuilder
phraseSlop(int phraseSlop)
Sets the default slop for phrases.java.lang.String
queryString()
java.lang.String
quoteAnalyzer()
The optional analyzer used to analyze the query string for phrase searches.QueryStringQueryBuilder
quoteAnalyzer(java.lang.String quoteAnalyzer)
The optional analyzer used to analyze the query string for phrase searches.java.lang.String
quoteFieldSuffix()
QueryStringQueryBuilder
quoteFieldSuffix(java.lang.String quoteFieldSuffix)
An optional field name suffix to automatically try and add to the field searched when using quoted text.java.lang.String
rewrite()
QueryStringQueryBuilder
rewrite(java.lang.String rewrite)
java.lang.Float
tieBreaker()
QueryStringQueryBuilder
tieBreaker(float tieBreaker)
When more than one field is used with the query string, and combined queries are using dis max, control the tie breaker for it.java.time.ZoneId
timeZone()
QueryStringQueryBuilder
timeZone(java.lang.String timeZone)
In case of date field, we can adjust the from/to fields using a timezoneQueryStringQueryBuilder
timeZone(java.time.ZoneId timeZone)
QueryStringQueryBuilder
type(MultiMatchQueryBuilder.Type type)
Methods inherited from class org.elasticsearch.index.query.AbstractQueryBuilder
addValidationError, boost, boost, checkNegativeBoost, declareStandardFields, doRewrite, equals, extractInnerHitBuilders, getName, hashCode, parseInnerQueryBuilder, printBoostAndQueryName, queryName, queryName, requireValue, rewrite, throwParsingExceptionOnMultipleFields, toQuery, toString, toXContent, writeTo
-
Field Details
-
NAME
public static final java.lang.String NAME- See Also:
- Constant Field Values
-
DEFAULT_MAX_DETERMINED_STATES
public static final int DEFAULT_MAX_DETERMINED_STATES- See Also:
- Constant Field Values
-
DEFAULT_ENABLE_POSITION_INCREMENTS
public static final boolean DEFAULT_ENABLE_POSITION_INCREMENTS- See Also:
- Constant Field Values
-
DEFAULT_ESCAPE
public static final boolean DEFAULT_ESCAPE- See Also:
- Constant Field Values
-
DEFAULT_FUZZY_PREFIX_LENGTH
public static final int DEFAULT_FUZZY_PREFIX_LENGTH- See Also:
- Constant Field Values
-
DEFAULT_FUZZY_MAX_EXPANSIONS
public static final int DEFAULT_FUZZY_MAX_EXPANSIONS- See Also:
- Constant Field Values
-
DEFAULT_PHRASE_SLOP
public static final int DEFAULT_PHRASE_SLOP- See Also:
- Constant Field Values
-
DEFAULT_FUZZINESS
-
DEFAULT_OPERATOR
-
DEFAULT_TYPE
-
DEFAULT_FUZZY_TRANSPOSITIONS
public static final boolean DEFAULT_FUZZY_TRANSPOSITIONS- See Also:
- Constant Field Values
-
-
Constructor Details
-
QueryStringQueryBuilder
public QueryStringQueryBuilder(java.lang.String queryString) -
QueryStringQueryBuilder
Read from a stream.- Throws:
java.io.IOException
-
-
Method Details
-
doWriteTo
- Specified by:
doWriteTo
in classAbstractQueryBuilder<QueryStringQueryBuilder>
- Throws:
java.io.IOException
-
queryString
public java.lang.String queryString() -
defaultField
The default field to run against when no prefix field is specified. Only relevant when not explicitly adding fields the query string will run against. -
defaultField
public java.lang.String defaultField() -
field
Adds a field to run the query string against. The field will be associated with the default boost ofAbstractQueryBuilder.DEFAULT_BOOST
. Usefield(String, float)
to set a specific boost for the field. -
field
Adds a field to run the query string against with a specific boost. -
fields
Add several fields to run the query against with a specific boost. -
fields
public java.util.Map<java.lang.String,java.lang.Float> fields()Returns the fields including their respective boosts to run the query against. -
type
- Parameters:
type
- Sets how multiple fields should be combined to build textual part queries.
-
tieBreaker
When more than one field is used with the query string, and combined queries are using dis max, control the tie breaker for it. -
tieBreaker
public java.lang.Float tieBreaker() -
defaultOperator
Sets the boolean operator of the query parser used to parse the query string.In default mode (
Operator.OR
) terms without any modifiers are considered optional: for examplecapital of Hungary
is equal tocapital OR of OR Hungary
.In
Operator.AND
mode terms are considered to be in conjunction: the above mentioned query is parsed ascapital AND of AND Hungary
-
defaultOperator
-
analyzer
The optional analyzer used to analyze the query string. Note, if a field has search analyzer defined for it, then it will be used automatically. Defaults to the smart search analyzer. -
analyzer
public java.lang.String analyzer()The optional analyzer used to analyze the query string. Note, if a field has search analyzer defined for it, then it will be used automatically. Defaults to the smart search analyzer. -
quoteAnalyzer
public java.lang.String quoteAnalyzer()The optional analyzer used to analyze the query string for phrase searches. Note, if a field has search (quote) analyzer defined for it, then it will be used automatically. Defaults to the smart search analyzer. -
quoteAnalyzer
The optional analyzer used to analyze the query string for phrase searches. Note, if a field has search (quote) analyzer defined for it, then it will be used automatically. Defaults to the smart search analyzer. -
maxDeterminizedStates
Protects against too-difficult regular expression queries. -
maxDeterminizedStates
public int maxDeterminizedStates() -
allowLeadingWildcard
Should leading wildcards be allowed or not. Defaults totrue
. -
allowLeadingWildcard
public java.lang.Boolean allowLeadingWildcard() -
enablePositionIncrements
Set totrue
to enable position increments in result query. Defaults totrue
.When set, result phrase and multi-phrase queries will be aware of position increments. Useful when e.g. a StopFilter increases the position increment of the token that follows an omitted token.
-
enablePositionIncrements
public boolean enablePositionIncrements() -
fuzziness
Set the edit distance for fuzzy queries. Default is "AUTO". -
fuzziness
-
fuzzyPrefixLength
Set the minimum prefix length for fuzzy queries. Default is 1. -
fuzzyPrefixLength
public int fuzzyPrefixLength() -
fuzzyMaxExpansions
-
fuzzyMaxExpansions
public int fuzzyMaxExpansions() -
fuzzyRewrite
-
fuzzyRewrite
public java.lang.String fuzzyRewrite() -
phraseSlop
Sets the default slop for phrases. If zero, then exact phrase matches are required. Default value is zero. -
phraseSlop
public int phraseSlop() -
rewrite
-
analyzeWildcard
Set totrue
to enable analysis on wildcard and prefix queries. -
analyzeWildcard
public java.lang.Boolean analyzeWildcard() -
rewrite
public java.lang.String rewrite() -
minimumShouldMatch
-
minimumShouldMatch
public java.lang.String minimumShouldMatch() -
quoteFieldSuffix
An optional field name suffix to automatically try and add to the field searched when using quoted text. -
quoteFieldSuffix
public java.lang.String quoteFieldSuffix() -
lenient
Sets the query string parser to be lenient when parsing field values, defaults to the index setting and if not set, defaults to false. -
lenient
public java.lang.Boolean lenient() -
timeZone
In case of date field, we can adjust the from/to fields using a timezone -
timeZone
-
timeZone
public java.time.ZoneId timeZone() -
escape
Set totrue
to enable escaping of the query string -
escape
public boolean escape() -
autoGenerateSynonymsPhraseQuery
-
autoGenerateSynonymsPhraseQuery
public boolean autoGenerateSynonymsPhraseQuery()Whether phrase queries should be automatically generated for multi terms synonyms. Defaults totrue
. -
fuzzyTranspositions
public boolean fuzzyTranspositions() -
fuzzyTranspositions
Sets whether transpositions are supported in fuzzy queries.The default metric used by fuzzy queries to determine a match is the Damerau-Levenshtein distance formula which supports transpositions. Setting transposition to false will switch to classic Levenshtein distance.
If not set, Damerau-Levenshtein distance metric will be used. -
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<QueryStringQueryBuilder>
- Throws:
java.io.IOException
-
fromXContent
public static QueryStringQueryBuilder fromXContent(org.elasticsearch.common.xcontent.XContentParser parser) throws java.io.IOException- Throws:
java.io.IOException
-
getWriteableName
public java.lang.String getWriteableName()Description copied from interface:NamedWriteable
Returns the name of the writeable object -
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<QueryStringQueryBuilder>
-
doHashCode
protected int doHashCode()- Specified by:
doHashCode
in classAbstractQueryBuilder<QueryStringQueryBuilder>
-
doToQuery
protected org.apache.lucene.search.Query doToQuery(QueryShardContext context) throws java.io.IOException- Specified by:
doToQuery
in classAbstractQueryBuilder<QueryStringQueryBuilder>
- Throws:
java.io.IOException
-