Class JaroWinklerDistance

java.lang.Object
org.apache.lucene.search.spell.JaroWinklerDistance
All Implemented Interfaces:
StringDistance

public class JaroWinklerDistance extends Object implements StringDistance
Similarity measure for short strings such as person names.
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private float
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates a new distance metric with the default threshold for the Jaro Winkler bonus (0.7)
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
     
    float
    Returns a float between 0 and 1 based on how similar the specified strings are to one another.
    float
    Returns the current value of the threshold used for adding the Winkler bonus.
    int
     
    private int[]
     
    void
    setThreshold(float threshold)
    Sets the threshold used to determine when Winkler bonus should be used.
     

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

    • threshold

      private float threshold
  • Constructor Details

    • JaroWinklerDistance

      public JaroWinklerDistance()
      Creates a new distance metric with the default threshold for the Jaro Winkler bonus (0.7)
      See Also:
  • Method Details

    • matches

      private int[] matches(String s1, String s2)
    • getDistance

      public float getDistance(String s1, String s2)
      Description copied from interface: StringDistance
      Returns a float between 0 and 1 based on how similar the specified strings are to one another. Returning a value of 1 means the specified strings are identical and 0 means the string are maximally different.
      Specified by:
      getDistance in interface StringDistance
      Parameters:
      s1 - The first string.
      s2 - The second string.
      Returns:
      a float between 0 and 1 based on how similar the specified strings are to one another.
    • setThreshold

      public void setThreshold(float threshold)
      Sets the threshold used to determine when Winkler bonus should be used. Set to a negative value to get the Jaro distance.
      Parameters:
      threshold - the new value of the threshold
    • getThreshold

      public float getThreshold()
      Returns the current value of the threshold used for adding the Winkler bonus. The default value is 0.7.
      Returns:
      the current value of the threshold
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object