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
ACompletionQuerywhich 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
RegExpfor the supported regular expression syntax
-
-
Constructor Summary
Constructors Constructor Description RegexCompletionQuery(Term term)CallsRegexCompletionQuery(Term, BitsProducer)with no filterRegexCompletionQuery(Term term, int flags, int maxDeterminizedStates)CallsRegexCompletionQuery(Term, int, int, BitsProducer)with no filterRegexCompletionQuery(Term term, int flags, int maxDeterminizedStates, BitsProducer filter)Constructs a regular expression completion queryRegexCompletionQuery(Term term, BitsProducer filter)CallsRegexCompletionQuery(Term, int, int, BitsProducer)enabling all optional regex syntax andmaxDeterminizedStatesof 10000
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description WeightcreateWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost)Expert: Constructs an appropriate Weight implementation for this query.booleanequals(Object o)Override and implement query instance equivalence properly in a subclass.intgetFlags()Get the regex flagsintgetMaxDeterminizedStates()Get the maximum number of states permitted in the determinized automatoninthashCode()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, 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 andmaxDeterminizedStatesof 10000
-
RegexCompletionQuery
public RegexCompletionQuery(Term term, int flags, int maxDeterminizedStates)
CallsRegexCompletionQuery(Term, int, int, BitsProducer)with no filter
-
RegexCompletionQuery
public RegexCompletionQuery(Term term, int flags, int maxDeterminizedStates, 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)maxDeterminizedStates- 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 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 classQueryscoreMode- 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
-
getMaxDeterminizedStates
public int getMaxDeterminizedStates()
Get the maximum number of states permitted in the determinized automaton
-
equals
public boolean equals(Object o)
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 that other instance. Utility methods are provided for certain repetitive code.- Specified by:
equalsin classQuery- See Also:
Query.sameClassAs(Object),Query.classHash()
-
hashCode
public int hashCode()
Description copied from class:QueryOverride and implement query hash code properly in a subclass. This is required so thatQueryCacheworks properly.- Specified by:
hashCodein classQuery- See Also:
Query.equals(Object)
-
visit
public void visit(QueryVisitor visitor)
Description copied from class:QueryRecurse through the query tree, visiting any child queries
-
-