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.ObjectCreates queries from theAnalyzerchain.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
newTermQueryare 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 QuerycreateBooleanQuery(java.lang.String field, java.lang.String queryText)Creates a boolean query from the query text.QuerycreateBooleanQuery(java.lang.String field, java.lang.String queryText, BooleanClause.Occur operator)Creates a boolean query from the query text.QuerycreateMinShouldMatchQuery(java.lang.String field, java.lang.String queryText, float fraction)Creates a minimum-should-match query from the query text.QuerycreatePhraseQuery(java.lang.String field, java.lang.String queryText)Creates a phrase query from the query text.QuerycreatePhraseQuery(java.lang.String field, java.lang.String queryText, int phraseSlop)Creates a phrase query from the query text.AnalyzergetAnalyzer()Returns the analyzer.booleangetEnablePositionIncrements()Returns true if position increments are enabled.voidsetAnalyzer(Analyzer analyzer)Sets the analyzer used to tokenize text.voidsetEnablePositionIncrements(boolean enable)Set totrueto 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:
TermQueryorBooleanQuery, 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:
TermQueryorBooleanQuery, 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:
TermQueryorBooleanQuery, 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 totrueto 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.
-
-