Package org.apache.lucene.util
Class QueryBuilder
- java.lang.Object
-
- org.apache.lucene.util.QueryBuilder
-
- Direct Known Subclasses:
QueryParserBase
,SimpleQueryParser
public class QueryBuilder extends java.lang.Object
Creates queries from theAnalyzer
chain.Example usage:
QueryBuilder builder = new QueryBuilder(analyzer); Query a = builder.createBooleanQuery("body", "just a test"); Query b = builder.createPhraseQuery("body", "another test"); Query c = builder.createMinShouldMatchQuery("body", "another test", 0.5f);
This can also be used as a subclass for query parsers to make it easier to interact with the analysis chain. Factory methods such as
newTermQuery
are provided so that the generated queries can be customized.
-
-
Constructor Summary
Constructors Constructor Description QueryBuilder(Analyzer analyzer)
Creates a new QueryBuilder using the given analyzer.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Query
createBooleanQuery(java.lang.String field, java.lang.String queryText)
Creates a boolean query from the query text.Query
createBooleanQuery(java.lang.String field, java.lang.String queryText, BooleanClause.Occur operator)
Creates a boolean query from the query text.Query
createMinShouldMatchQuery(java.lang.String field, java.lang.String queryText, float fraction)
Creates a minimum-should-match query from the query text.Query
createPhraseQuery(java.lang.String field, java.lang.String queryText)
Creates a phrase query from the query text.Query
createPhraseQuery(java.lang.String field, java.lang.String queryText, int phraseSlop)
Creates a phrase query from the query text.Analyzer
getAnalyzer()
Returns the analyzer.boolean
getEnablePositionIncrements()
Returns true if position increments are enabled.void
setAnalyzer(Analyzer analyzer)
Sets the analyzer used to tokenize text.void
setEnablePositionIncrements(boolean enable)
Set totrue
to enable position increments in result query.
-
-
-
Constructor Detail
-
QueryBuilder
public QueryBuilder(Analyzer analyzer)
Creates a new QueryBuilder using the given analyzer.
-
-
Method Detail
-
createBooleanQuery
public Query createBooleanQuery(java.lang.String field, java.lang.String queryText)
Creates a boolean query from the query text.This is equivalent to
createBooleanQuery(field, queryText, Occur.SHOULD)
- Parameters:
field
- field namequeryText
- text to be passed to the analyzer- Returns:
TermQuery
orBooleanQuery
, based on the analysis ofqueryText
-
createBooleanQuery
public Query createBooleanQuery(java.lang.String field, java.lang.String queryText, BooleanClause.Occur operator)
Creates a boolean query from the query text.- Parameters:
field
- field namequeryText
- text to be passed to the analyzeroperator
- operator used for clauses between analyzer tokens.- Returns:
TermQuery
orBooleanQuery
, based on the analysis ofqueryText
-
createPhraseQuery
public Query createPhraseQuery(java.lang.String field, java.lang.String queryText)
Creates a phrase query from the query text.This is equivalent to
createPhraseQuery(field, queryText, 0)
- Parameters:
field
- field namequeryText
- text to be passed to the analyzer- Returns:
TermQuery
,BooleanQuery
,PhraseQuery
, orMultiPhraseQuery
, based on the analysis ofqueryText
-
createPhraseQuery
public Query createPhraseQuery(java.lang.String field, java.lang.String queryText, int phraseSlop)
Creates a phrase query from the query text.- Parameters:
field
- field namequeryText
- text to be passed to the analyzerphraseSlop
- number of other words permitted between words in query phrase- Returns:
TermQuery
,BooleanQuery
,PhraseQuery
, orMultiPhraseQuery
, based on the analysis ofqueryText
-
createMinShouldMatchQuery
public Query createMinShouldMatchQuery(java.lang.String field, java.lang.String queryText, float fraction)
Creates a minimum-should-match query from the query text.- Parameters:
field
- field namequeryText
- text to be passed to the analyzerfraction
- of query terms[0..1]
that should match- Returns:
TermQuery
orBooleanQuery
, based on the analysis ofqueryText
-
getAnalyzer
public Analyzer getAnalyzer()
Returns the analyzer.- See Also:
setAnalyzer(Analyzer)
-
setAnalyzer
public void setAnalyzer(Analyzer analyzer)
Sets the analyzer used to tokenize text.
-
getEnablePositionIncrements
public boolean getEnablePositionIncrements()
Returns true if position increments are enabled.- See Also:
setEnablePositionIncrements(boolean)
-
setEnablePositionIncrements
public void setEnablePositionIncrements(boolean enable)
Set totrue
to enable position increments in result query.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.
Default: true.
-
-