Module org.apache.lucene.suggest
Class RegexCompletionQuery
java.lang.Object
org.apache.lucene.search.Query
org.apache.lucene.search.suggest.document.CompletionQuery
org.apache.lucene.search.suggest.document.RegexCompletionQuery
A
CompletionQuery 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 -
Constructor Summary
ConstructorsConstructorDescriptionRegexCompletionQuery(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 anddeterminizeWorkLimitof 10000 -
Method Summary
Modifier and TypeMethodDescriptioncreateWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost) Expert: Constructs an appropriate Weight implementation for this query.booleanOverride and implement query instance equivalence properly in a subclass.intGet the maximum effort permitted to determinize the automatonintgetFlags()Get the regex flagsinthashCode()Override and implement query hash code properly in a subclass.voidvisit(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, toStringMethods inherited from class org.apache.lucene.search.Query
classHash, rewrite, sameClassAs, toString
-
Field Details
-
flags
private final int flags -
determinizeWorkLimit
private final int determinizeWorkLimit
-
-
Constructor Details
-
RegexCompletionQuery
CallsRegexCompletionQuery(Term, BitsProducer)with no filter -
RegexCompletionQuery
CallsRegexCompletionQuery(Term, int, int, BitsProducer)enabling all optional regex syntax anddeterminizeWorkLimitof 10000 -
RegexCompletionQuery
CallsRegexCompletionQuery(Term, int, int, BitsProducer)with no filter -
RegexCompletionQuery
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 Details
-
createWeight
public Weight createWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost) throws IOException Description copied from class:QueryExpert: Constructs an appropriate Weight implementation for this query.Only implemented by primitive queries, which re-write to themselves.
- Overrides:
createWeightin classQuery- Parameters:
scoreMode- How the produced scorers will be consumed.boost- The boost that is propagated by the parent queries.- Throws:
IOException
-
getFlags
public int getFlags()Get the regex flags -
getDeterminizeWorkLimit
public int getDeterminizeWorkLimit()Get the maximum effort permitted to determinize the automaton -
equals
Description copied from class:QueryOverride and implement query instance equivalence properly in a subclass. This is required so thatQueryCacheworks 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 to those of the other instance. Utility methods are provided for certain repetitive code.
-
hashCode
public int hashCode()Description copied from class:QueryOverride and implement query hash code properly in a subclass. This is required so thatQueryCacheworks properly. -
visit
Description copied from class:QueryRecurse through the query tree, visiting any child queries.
-