org.apache.lucene.search

Class FuzzyQuery

public class FuzzyQuery extends MultiTermQuery

Implements the fuzzy search query. The similiarity measurement is based on the Levenshtein (edit distance) algorithm.
Nested Class Summary
protected static classFuzzyQuery.ScoreTerm
protected static classFuzzyQuery.ScoreTermQueue
Field Summary
static floatdefaultMinSimilarity
static intdefaultPrefixLength
Constructor Summary
FuzzyQuery(Term term, float minimumSimilarity, int prefixLength)
Create a new FuzzyQuery that will match terms with a similarity of at least minimumSimilarity to term.
FuzzyQuery(Term term, float minimumSimilarity)
FuzzyQuery(Term term)
Method Summary
booleanequals(Object o)
protected FilteredTermEnumgetEnum(IndexReader reader)
floatgetMinSimilarity()
Returns the minimum similarity that is required for this query to match.
intgetPrefixLength()
Returns the non-fuzzy prefix length.
inthashCode()
Queryrewrite(IndexReader reader)
StringtoString(String field)

Field Detail

defaultMinSimilarity

public static final float defaultMinSimilarity

defaultPrefixLength

public static final int defaultPrefixLength

Constructor Detail

FuzzyQuery

public FuzzyQuery(Term term, float minimumSimilarity, int prefixLength)
Create a new FuzzyQuery that will match terms with a similarity of at least minimumSimilarity to term. If a prefixLength > 0 is specified, a common prefix of that length is also required.

Parameters: term the term to search for minimumSimilarity a value between 0 and 1 to set the required similarity between the query term and the matching terms. For example, for a minimumSimilarity of 0.5 a term of the same length as the query term is considered similar to the query term if the edit distance between both terms is less than length(term)*0.5 prefixLength length of common (non-fuzzy) prefix

Throws: IllegalArgumentException if minimumSimilarity is >= 1 or < 0 or if prefixLength < 0

FuzzyQuery

public FuzzyQuery(Term term, float minimumSimilarity)
Calls FuzzyQuery(term, minimumSimilarity, 0).

FuzzyQuery

public FuzzyQuery(Term term)
Calls FuzzyQuery(term, 0.5f, 0).

Method Detail

equals

public boolean equals(Object o)

getEnum

protected FilteredTermEnum getEnum(IndexReader reader)

getMinSimilarity

public float getMinSimilarity()
Returns the minimum similarity that is required for this query to match.

Returns: float value between 0.0 and 1.0

getPrefixLength

public int getPrefixLength()
Returns the non-fuzzy prefix length. This is the number of characters at the start of a term that must be identical (not fuzzy) to the query term if the query is to match that term.

hashCode

public int hashCode()

rewrite

public Query rewrite(IndexReader reader)

toString

public String toString(String field)
Copyright © 2000-2007 Apache Software Foundation. All Rights Reserved.