Class RegexCompletionQuery
- java.lang.Object
-
- org.apache.lucene.search.Query
-
- org.apache.lucene.search.suggest.document.CompletionQuery
-
- org.apache.lucene.search.suggest.document.RegexCompletionQuery
-
public class RegexCompletionQuery extends CompletionQuery
ACompletionQuery
which takes a regular expression as the prefix of the query term.Example usage of querying a prefix of 'sug' and 'sub' as a regular expression against a suggest field 'suggest_field':
CompletionQuery query = new RegexCompletionQuery(new Term("suggest_field", "su[g|b]"));
See
RegExp
for the supported regular expression syntax
-
-
Field Summary
Fields Modifier and Type Field Description private int
determinizeWorkLimit
private int
flags
-
Constructor Summary
Constructors Constructor Description RegexCompletionQuery(Term term)
CallsRegexCompletionQuery(Term, BitsProducer)
with no filterRegexCompletionQuery(Term term, int flags, int determinizeWorkLimit)
CallsRegexCompletionQuery(Term, int, int, BitsProducer)
with no filterRegexCompletionQuery(Term term, int flags, int determinizeWorkLimit, BitsProducer filter)
Constructs a regular expression completion queryRegexCompletionQuery(Term term, BitsProducer filter)
CallsRegexCompletionQuery(Term, int, int, BitsProducer)
enabling all optional regex syntax anddeterminizeWorkLimit
of 10000
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Weight
createWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost)
Expert: Constructs an appropriate Weight implementation for this query.boolean
equals(java.lang.Object o)
Override and implement query instance equivalence properly in a subclass.int
getDeterminizeWorkLimit()
Get the maximum effort permitted to determinize the automatonint
getFlags()
Get the regex flagsint
hashCode()
Override and implement query hash code properly in a subclass.void
visit(QueryVisitor visitor)
Recurse through the query tree, visiting any child queries-
Methods inherited from class org.apache.lucene.search.suggest.document.CompletionQuery
getField, getFilter, getTerm, rewrite, toString
-
Methods inherited from class org.apache.lucene.search.Query
classHash, sameClassAs, toString
-
-
-
-
Constructor Detail
-
RegexCompletionQuery
public RegexCompletionQuery(Term term)
CallsRegexCompletionQuery(Term, BitsProducer)
with no filter
-
RegexCompletionQuery
public RegexCompletionQuery(Term term, BitsProducer filter)
CallsRegexCompletionQuery(Term, int, int, BitsProducer)
enabling all optional regex syntax anddeterminizeWorkLimit
of 10000
-
RegexCompletionQuery
public RegexCompletionQuery(Term term, int flags, int determinizeWorkLimit)
CallsRegexCompletionQuery(Term, int, int, BitsProducer)
with no filter
-
RegexCompletionQuery
public RegexCompletionQuery(Term term, int flags, int determinizeWorkLimit, BitsProducer filter)
Constructs a regular expression completion query- Parameters:
term
- query is run againstTerm.field()
andTerm.text()
is interpreted as a regular expressionflags
- used as syntax_flag inRegExp(String, int)
determinizeWorkLimit
- used inRegExp.toAutomaton(int)
filter
- used to query on a sub set of documents
-
-
Method Detail
-
createWeight
public Weight createWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost) throws java.io.IOException
Description copied from class:Query
Expert: Constructs an appropriate Weight implementation for this query.Only implemented by primitive queries, which re-write to themselves.
- Overrides:
createWeight
in classQuery
scoreMode
- How the produced scorers will be consumed.boost
- The boost that is propagated by the parent queries.- Throws:
java.io.IOException
-
getFlags
public int getFlags()
Get the regex flags
-
getDeterminizeWorkLimit
public int getDeterminizeWorkLimit()
Get the maximum effort permitted to determinize the automaton
-
equals
public boolean equals(java.lang.Object o)
Description copied from class:Query
Override and implement query instance equivalence properly in a subclass. This is required so thatQueryCache
works properly.Typically a query will be equal to another only if it's an instance of the same class and its document-filtering properties are identical that other instance. Utility methods are provided for certain repetitive code.
- Specified by:
equals
in classQuery
- See Also:
Query.sameClassAs(Object)
,Query.classHash()
-
hashCode
public int hashCode()
Description copied from class:Query
Override and implement query hash code properly in a subclass. This is required so thatQueryCache
works properly.- Specified by:
hashCode
in classQuery
- See Also:
Query.equals(Object)
-
visit
public void visit(QueryVisitor visitor)
Description copied from class:Query
Recurse through the query tree, visiting any child queries
-
-