Class FuzzyTermEnum

  • All Implemented Interfaces:
    Closeable, AutoCloseable

    public final class FuzzyTermEnum
    extends FilteredTermEnum
    Subclass of FilteredTermEnum for enumerating all terms that are similar to the specified filter term.

    Term enumerations are always ordered by Term.compareTo(). Each term in the enumeration is greater than all that precede it.

    • Constructor Detail

      • FuzzyTermEnum

        public FuzzyTermEnum​(IndexReader reader,
                             Term term,
                             float minSimilarity,
                             int prefixLength)
                      throws IOException
        Constructor for enumeration of all terms from specified reader which share a prefix of length prefixLength with term and which have a fuzzy similarity > minSimilarity.

        After calling the constructor the enumeration is already pointing to the first valid term if such a term exists.

        Parameters:
        reader - Delivers terms.
        term - Pattern term.
        minSimilarity - Minimum required similarity for terms from the reader. Default value is 0.5f.
        prefixLength - Length of required common prefix. Default value is 0.
        Throws:
        IOException
    • Method Detail

      • termCompare

        protected final boolean termCompare​(Term term)
        The termCompare method in FuzzyTermEnum uses Levenshtein distance to calculate the distance between the given term and the comparing term.
        Specified by:
        termCompare in class FilteredTermEnum
      • endEnum

        public final boolean endEnum()
        Indicates the end of the enumeration has been reached
        Specified by:
        endEnum in class FilteredTermEnum