Class SimpleQueryStringBuilder
- All Implemented Interfaces:
NamedWriteable
,Writeable
,org.elasticsearch.common.xcontent.ToXContent
,org.elasticsearch.common.xcontent.ToXContentObject
,QueryBuilder
,Rewriteable<QueryBuilder>
public class SimpleQueryStringBuilder extends AbstractQueryBuilder<SimpleQueryStringBuilder>
- '
+
' specifiesAND
operation:token1+token2
- '
|
' specifiesOR
operation:token1|token2
- '
-
' negates a single token:-token0
- '
"
' creates phrases of terms:"term1 term2 ..."
- '
*
' at the end of terms specifies prefix query:term*
- '
(
' and ')
' specifies precedence:token1 + (token2 | token3)
- '
~
N' at the end of terms specifies fuzzy query:term~1
- '
~
N' at the end of phrases specifies near/slop query:"term1 term2"~5
See: SimpleQueryStringQueryParser
for more information.
This query supports these options:
Required:
query
- query text to be converted into other queries
Optional:
analyzer
- anaylzer to be used for analyzing tokens to determine
which kind of query they should be converted into, defaults to "standard"
default_operator
- default operator for boolean queries, defaults
to OR
fields
- fields to search, defaults to _all if not set, allows
boosting a field with ^n
For more detailed explanation of the query string syntax see also the online documentation.
-
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_ANALYZE_WILDCARD
Default for wildcard analysis.static int
DEFAULT_FLAGS
Default for search flags to use.static int
DEFAULT_FUZZY_MAX_EXPANSIONS
Default number of terms fuzzy queries will expand to.static int
DEFAULT_FUZZY_PREFIX_LENGTH
Default for prefix length in fuzzy queries.static boolean
DEFAULT_FUZZY_TRANSPOSITIONS
Default for using transpositions in fuzzy queries.static boolean
DEFAULT_LENIENT
Default for using lenient query parsing.static Operator
DEFAULT_OPERATOR
Default for default operator to use for linking boolean clauses.static java.lang.String
NAME
Name for (de-)serialization.Fields inherited from class org.elasticsearch.index.query.AbstractQueryBuilder
boost, BOOST_FIELD, DEFAULT_BOOST, NAME_FIELD, queryName
Fields inherited from interface org.elasticsearch.index.query.Rewriteable
MAX_REWRITE_ROUNDS
Fields inherited from interface org.elasticsearch.common.xcontent.ToXContent
EMPTY_PARAMS
-
Constructor Summary
Constructors Constructor Description SimpleQueryStringBuilder(java.lang.String queryText)
Construct a new simple query with this query string.SimpleQueryStringBuilder(StreamInput in)
Read from a stream. -
Method Summary
Modifier and Type Method Description java.lang.String
analyzer()
Returns the analyzer to use for the query.SimpleQueryStringBuilder
analyzer(java.lang.String analyzer)
Specify an analyzer to use for the query.boolean
analyzeWildcard()
Returns whether wildcards should by analyzed.SimpleQueryStringBuilder
analyzeWildcard(boolean analyzeWildcard)
Specifies whether wildcards should be analyzed.boolean
autoGenerateSynonymsPhraseQuery()
Whether phrase queries should be automatically generated for multi terms synonyms.SimpleQueryStringBuilder
autoGenerateSynonymsPhraseQuery(boolean value)
Operator
defaultOperator()
Returns the default operator for the query.SimpleQueryStringBuilder
defaultOperator(Operator defaultOperator)
Specify the default operator for the query.protected boolean
doEquals(SimpleQueryStringBuilder 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(SearchExecutionContext context)
protected void
doWriteTo(StreamOutput out)
protected void
doXContent(org.elasticsearch.common.xcontent.XContentBuilder builder, org.elasticsearch.common.xcontent.ToXContent.Params params)
SimpleQueryStringBuilder
field(java.lang.String field)
Add a field to run the query against.SimpleQueryStringBuilder
field(java.lang.String field, float boost)
Add a field to run the query 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.SimpleQueryStringBuilder
fields(java.util.Map<java.lang.String,java.lang.Float> fields)
Add several fields to run the query against with a specific boost.SimpleQueryStringBuilder
flags(SimpleQueryStringFlag... flags)
Specify the enabled features of the SimpleQueryString.static SimpleQueryStringBuilder
fromXContent(org.elasticsearch.common.xcontent.XContentParser parser)
int
fuzzyMaxExpansions()
SimpleQueryStringBuilder
fuzzyMaxExpansions(int fuzzyMaxExpansions)
int
fuzzyPrefixLength()
SimpleQueryStringBuilder
fuzzyPrefixLength(int fuzzyPrefixLength)
boolean
fuzzyTranspositions()
SimpleQueryStringBuilder
fuzzyTranspositions(boolean fuzzyTranspositions)
Sets whether transpositions are supported in fuzzy queries.java.lang.String
getWriteableName()
Returns the name of the writeable objectboolean
lenient()
Returns whether query parsing should be lenient.SimpleQueryStringBuilder
lenient(boolean lenient)
Specifies whether query parsing should be lenient.java.lang.String
minimumShouldMatch()
Returns the minimumShouldMatch to apply to the resulting query should that be a Boolean query.SimpleQueryStringBuilder
minimumShouldMatch(java.lang.String minimumShouldMatch)
Specifies the minimumShouldMatch to apply to the resulting query should that be a Boolean query.java.lang.String
quoteFieldSuffix()
Return the suffix to append to field names for phrase matching.SimpleQueryStringBuilder
quoteFieldSuffix(java.lang.String suffix)
Set the suffix to append to field names for phrase matching.java.lang.String
value()
Returns the text to parse the query from.Methods inherited from class org.elasticsearch.index.query.AbstractQueryBuilder
addValidationError, boost, boost, checkNegativeBoost, declareStandardFields, doRewrite, equals, extractInnerHitBuilders, getName, hashCode, parseInnerQueryBuilder, 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
Methods inherited from interface org.elasticsearch.common.xcontent.ToXContentObject
isFragment
-
Field Details
-
DEFAULT_LENIENT
public static final boolean DEFAULT_LENIENTDefault for using lenient query parsing.- See Also:
- Constant Field Values
-
DEFAULT_ANALYZE_WILDCARD
public static final boolean DEFAULT_ANALYZE_WILDCARDDefault for wildcard analysis.- See Also:
- Constant Field Values
-
DEFAULT_OPERATOR
Default for default operator to use for linking boolean clauses. -
DEFAULT_FLAGS
public static final int DEFAULT_FLAGSDefault for search flags to use. -
DEFAULT_FUZZY_PREFIX_LENGTH
public static final int DEFAULT_FUZZY_PREFIX_LENGTHDefault for prefix length in fuzzy queries.- See Also:
- Constant Field Values
-
DEFAULT_FUZZY_MAX_EXPANSIONS
public static final int DEFAULT_FUZZY_MAX_EXPANSIONSDefault number of terms fuzzy queries will expand to.- See Also:
- Constant Field Values
-
DEFAULT_FUZZY_TRANSPOSITIONS
public static final boolean DEFAULT_FUZZY_TRANSPOSITIONSDefault for using transpositions in fuzzy queries.- See Also:
- Constant Field Values
-
NAME
public static final java.lang.String NAMEName for (de-)serialization.- See Also:
- Constant Field Values
-
-
Constructor Details
-
SimpleQueryStringBuilder
public SimpleQueryStringBuilder(java.lang.String queryText)Construct a new simple query with this query string. -
SimpleQueryStringBuilder
Read from a stream.- Throws:
java.io.IOException
-
-
Method Details
-
doWriteTo
- Specified by:
doWriteTo
in classAbstractQueryBuilder<SimpleQueryStringBuilder>
- Throws:
java.io.IOException
-
value
public java.lang.String value()Returns the text to parse the query from. -
field
Add a field to run the query against. -
field
Add a field to run the query 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. -
analyzer
Specify an analyzer to use for the query. -
analyzer
public java.lang.String analyzer()Returns the analyzer to use for the query. -
defaultOperator
Specify the default operator for the query. Defaults to "OR" if no operator is specified. -
defaultOperator
Returns the default operator for the query. -
flags
Specify the enabled features of the SimpleQueryString. Defaults to ALL if none are specified. -
quoteFieldSuffix
Set the suffix to append to field names for phrase matching. -
quoteFieldSuffix
public java.lang.String quoteFieldSuffix()Return the suffix to append to field names for phrase matching. -
lenient
Specifies whether query parsing should be lenient. Defaults to false. -
lenient
public boolean lenient()Returns whether query parsing should be lenient. -
analyzeWildcard
Specifies whether wildcards should be analyzed. Defaults to false. -
analyzeWildcard
public boolean analyzeWildcard()Returns whether wildcards should by analyzed. -
minimumShouldMatch
Specifies the minimumShouldMatch to apply to the resulting query should that be a Boolean query. -
minimumShouldMatch
public java.lang.String minimumShouldMatch()Returns the minimumShouldMatch to apply to the resulting query should that be a Boolean query. -
autoGenerateSynonymsPhraseQuery
-
autoGenerateSynonymsPhraseQuery
public boolean autoGenerateSynonymsPhraseQuery()Whether phrase queries should be automatically generated for multi terms synonyms. Defaults totrue
. -
fuzzyPrefixLength
-
fuzzyPrefixLength
public int fuzzyPrefixLength() -
fuzzyMaxExpansions
-
fuzzyMaxExpansions
public int fuzzyMaxExpansions() -
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. -
doToQuery
protected org.apache.lucene.search.Query doToQuery(SearchExecutionContext context) throws java.io.IOException- Specified by:
doToQuery
in classAbstractQueryBuilder<SimpleQueryStringBuilder>
- Throws:
java.io.IOException
-
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<SimpleQueryStringBuilder>
- Throws:
java.io.IOException
-
fromXContent
public static SimpleQueryStringBuilder 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 -
doHashCode
protected int doHashCode()- Specified by:
doHashCode
in classAbstractQueryBuilder<SimpleQueryStringBuilder>
-
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<SimpleQueryStringBuilder>
-