Top Description Fields Constructors Methods
org.apache.commons.text.similarity

public Class EditDistanceFrom<R>

extends Object
Class Inheritance
Type Parameters
<R>
This is the type of similarity score used by the EditDistance function.
Imports
org.apache.commons.lang3.Validate

Stores a EditDistance implementation and a CharSequence "left" string. The apply(CharSequence right) method accepts the "right" string and invokes the comparison function for the pair of strings.

The following is an example which finds the most similar string:

EditDistance<Integer> editDistance = new LevenshteinDistance();
String target = "Apache";
EditDistanceFrom<Integer> editDistanceFrom =
    new EditDistanceFrom<Integer>(editDistance, target);
String mostSimilar = null;
Integer shortestDistance = null;

for (String test : new String[] { "Appaloosa", "a patchy", "apple" }) {
    Integer distance = editDistanceFrom.apply(test);
    if (shortestDistance == null || distance < shortestDistance) {
        shortestDistance = distance;
        mostSimilar = test;
    }
}

System.out.println("The string most similar to \"" + target + "\" "
    + "is \"" + mostSimilar + "\" because "
    + "its distance is only " + shortestDistance + ".");
Since
1.0

Field Summary

Modifier and TypeField and Description
private final EditDistance<R>
editDistance

Edit distance.

private final CharSequence
left

Left parameter used in distance function.

Constructor Summary

AccessConstructor and Description
public
EditDistanceFrom(final EditDistance<R>
This may not be null.
editDistance
,
final CharSequence
This may be null here, but the EditDistance#compare(CharSequence left, CharSequence right) implementation may not accept nulls.
left
)

Constructs the edit distance implementation and the "left" string.

Method Summary

Modifier and TypeMethod and Description
public R

Returns:

The similarity score between two CharSequences.
apply
(final CharSequence
the second CharSequence.
right
)

Compares "left" field against the "right" parameter using the "edit distance" implementation.

public EditDistance<R>

Returns:

The edit distance.
getEditDistance
()

Gets the edit distance.

public CharSequence

Returns:

The left parameter.
getLeft
()

Gets the left parameter.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

editDistanceback to summary
private final EditDistance<R> editDistance

Edit distance.

leftback to summary
private final CharSequence left

Left parameter used in distance function.

Constructor Detail

EditDistanceFromback to summary
public EditDistanceFrom(final EditDistance<R> editDistance, final CharSequence left)

Constructs the edit distance implementation and the "left" string.

Parameters
editDistance:EditDistance<R>

This may not be null.

left:CharSequence

This may be null here, but the EditDistance#compare(CharSequence left, CharSequence right) implementation may not accept nulls.

Method Detail

applyback to summary
public R apply(final CharSequence right)

Compares "left" field against the "right" parameter using the "edit distance" implementation.

Parameters
right:CharSequence

the second CharSequence.

Returns:R

The similarity score between two CharSequences.

getEditDistanceback to summary
public EditDistance<R> getEditDistance()

Gets the edit distance.

Returns:EditDistance<R>

The edit distance.

getLeftback to summary
public CharSequence getLeft()

Gets the left parameter.

Returns:CharSequence

The left parameter.