Class FuzzyCompletionQuery


public class FuzzyCompletionQuery extends PrefixCompletionQuery
A CompletionQuery that match documents containing terms within an edit distance of the specified prefix.

This query boost documents relative to how similar the indexed terms are to the provided prefix.

Example usage of querying an analyzed prefix within an edit distance of 1 of 'subg' against a field 'suggest_field' is as follows:

  CompletionQuery query = new FuzzyCompletionQuery(analyzer, new Term("suggest_field", "subg"));
 
WARNING: This API is experimental and might change in incompatible ways in the next release.
  • Field Details

    • DEFAULT_UNICODE_AWARE

      public static final boolean DEFAULT_UNICODE_AWARE
      Measure maxEdits, minFuzzyLength, transpositions and nonFuzzyPrefix parameters in Unicode code points (actual letters) instead of bytes.
      See Also:
    • DEFAULT_MIN_FUZZY_LENGTH

      public static final int DEFAULT_MIN_FUZZY_LENGTH
      The default minimum length of the key before any edits are allowed.
      See Also:
    • DEFAULT_NON_FUZZY_PREFIX

      public static final int DEFAULT_NON_FUZZY_PREFIX
      The default prefix length where edits are not allowed.
      See Also:
    • DEFAULT_MAX_EDITS

      public static final int DEFAULT_MAX_EDITS
      The default maximum number of edits for fuzzy suggestions.
      See Also:
    • DEFAULT_TRANSPOSITIONS

      public static final boolean DEFAULT_TRANSPOSITIONS
      The default transposition value passed to LevenshteinAutomata
      See Also:
  • Constructor Details

  • Method Details

    • createWeight

      public Weight createWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost) throws IOException
      Overrides:
      createWeight in class PrefixCompletionQuery
      Throws:
      IOException
    • getMaxEdits

      public int getMaxEdits()
      Get the maximum edit distance for fuzzy matches
    • isTranspositions

      public boolean isTranspositions()
      Return whether transpositions count as a single edit
    • getNonFuzzyPrefix

      public int getNonFuzzyPrefix()
      Get the length of a prefix where no edits are permitted
    • getMinFuzzyLength

      public int getMinFuzzyLength()
      Get the minimum length of a term considered for matching
    • isUnicodeAware

      public boolean isUnicodeAware()
      Return true if lengths are measured in unicode code-points rather than bytes
    • getDeterminizeWorkLimit

      public int getDeterminizeWorkLimit()
      Get the maximum effort to use determinizing
    • toString

      public String toString(String field)
      Overrides:
      toString in class CompletionQuery