org.apache.lucene.search.spell

## 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:
  http://en.wikipedia.org/wiki/Jaro%E2%80%93Winkler_distance

### Constructor Summary

Constructors
Constructor and Description
`JaroWinklerDistance()` Creates a new distance metric with the default threshold for the Jaro Winkler bonus (0.7)

### Method Summary

All Methods Instance Methods Concrete Methods
`boolean` `equals(Object obj)`
`float` `getDistance(String s1, String s2)` Returns a float between 0 and 1 based on how similar the specified strings are to one another.
`float` `getThreshold()` Returns the current value of the threshold used for adding the Winkler bonus.
`int` `hashCode()`
`void` `setThreshold(float threshold)` Sets the threshold used to determine when Winkler bonus should be used.
`String` `toString()`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### JaroWinklerDistance

    public JaroWinklerDistance()

Creates a new distance metric with the default threshold for the Jaro Winkler bonus (0.7)

See Also:
  `setThreshold(float)`

### Method Detail

#### 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`