Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.lucene.search
Class FuzzyQuery

    java.lang.Object
      org.apache.lucene.search.Query
          org.apache.lucene.search.MultiTermQuery
              org.apache.lucene.search.FuzzyQuery

All Implemented Interfaces:
  Cloneable, Serializable

public final class FuzzyQuery
extends MultiTermQuery

Implements the fuzzy search query. The similiarity measurement is based on the Levenshtein (edit distance) algorithm.

See Also:
  Serialized Form

Field Summary
`static float` | `defaultMinSimilarity`

Constructor Summary
`FuzzyQuery(Term term)` Calls `FuzzyQuery(term, 0.5f, 0)`.
`FuzzyQuery(Term term, float minimumSimilarity)` Calls `FuzzyQuery(term, minimumSimilarity, 0)`.
`FuzzyQuery(Term term, float minimumSimilarity, int prefixLength)` Create a new FuzzyQuery that will match terms with a similarity of at least `minimumSimilarity` to `term`.

Method Summary
`protected FilteredTermEnum` | `getEnum(IndexReader reader)` Construct the enumeration to be used, expanding the pattern term.
`float` | `getMinSimilarity()` Returns the minimum similarity that is required for this query to match.
`int` | `getPrefixLength()` Returns the prefix length, i.e. 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.
`String` | `toString(String field)` Prints a user-readable version of this query.

Methods inherited from class org.apache.lucene.search.MultiTermQuery
`combine, getTerm, rewrite`

Methods inherited from class org.apache.lucene.search.Query
`clone, createWeight, getBoost, getSimilarity, mergeBooleanQueries, setBoost, toString, weight`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### defaultMinSimilarity

    public static final float defaultMinSimilarity

See Also:
  Constant Field Values

Constructor Detail

### FuzzyQuery

    public FuzzyQuery(Term term,
                      float minimumSimilarity,
                      int prefixLength)
               throws IllegalArgumentException

  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 or > `term.text().length()`.

### FuzzyQuery

    public FuzzyQuery(Term term,
                      float minimumSimilarity)
               throws IllegalArgumentException

  Calls `FuzzyQuery(term, minimumSimilarity, 0)`.

### FuzzyQuery

    public FuzzyQuery(Term term)

  Calls `FuzzyQuery(term, 0.5f, 0)`.

Method Detail

### 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 prefix length, i.e. 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.

### getEnum

    protected FilteredTermEnum getEnum(IndexReader reader)
                                throws IOException

  Description copied from class: `MultiTermQuery`
  Construct the enumeration to be used, expanding the pattern term.

  Specified by:
    `getEnum` in class `MultiTermQuery`
  Throws:
    `IOException`

### toString

    public String toString(String field)

  Description copied from class: `MultiTermQuery`
  Prints a user-readable version of this query.

  Overrides:
    `toString` in class `MultiTermQuery`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000-2005 Apache Software Foundation. All Rights Reserved.