org.apache.commons.text.similarity

## Interface EditDistance<R>

- Type Parameters:
    `R` - The type of similarity score unit used by this EditDistance.
  All Superinterfaces:
    SimilarityScore<R>
  All Known Implementing Classes:
    CosineDistance, HammingDistance, JaccardDistance, LevenshteinDetailedDistance, LevenshteinDistance, LongestCommonSubsequenceDistance

      public interface EditDistance<R>
      extends SimilarityScore<R>

  Interface for Edit Distances.

  An edit distance is a formal metric on the Kleene closure (`X*`) over an alphabet (`X`). Note, that a metric on a set `S` is a function `d: [S * S] -> [0, INFINITY)` such that the following hold for `x,y,z` in the set `S`:

  - `d(x,y) >= 0`, non-negativity or separation axiom
  - `d(x,y) == 0`, if and only if, `x == y`
  - `d(x,y) == d(y,x)`, symmetry, and
  - `d(x,z) <= d(x,y) + d(y,z)`, the triangle inequality

  This is a BiFunction<CharSequence, CharSequence, R>. The `apply` method accepts a pair of `CharSequence` parameters and returns an `R` type similarity score.

  Since:
    1.0

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `R` | `apply(CharSequence left, CharSequence right)` Compares two CharSequences.

- - ### Method Detail

    - #### apply

          R apply(CharSequence left,
                  CharSequence right)

      Compares two CharSequences.
      Specified by:
        `apply` in interface `SimilarityScore<R>`
      Parameters:
        `left` - the first CharSequence
        `right` - the second CharSequence
      Returns:
        the similarity score between two CharSequences

Copyright © 2014–2018 The Apache Software Foundation. All rights reserved.