TermSimilarity constructor

TermSimilarity(
  1. String term,
  2. String other, {
  3. int k = 2,
})

Returns a immutable TermSimilarity for term and other.

Not case-sensitive.

Implementation

factory TermSimilarity(String term, String other, {int k = 2}) {
  final editDistance = term.editDistance(other);
  final editSimilarity = _getEditSimilarity(term, other, editDistance);
  final jaccardSimilarity = term.jaccardSimilarity(other, k);
  final lengthDistance = term.lengthDistance(other);
  final lengthSimilarity = term.lengthSimilarity(other);
  final characterSimilarity = term.characterSimilarity(other);
  final startsWithSimilarity = term.startsWithSimilarity(other);
  final similarity = editSimilarity *
      jaccardSimilarity *
      lengthSimilarity *
      characterSimilarity;
  return _TermSimilarityImpl(
      term,
      other,
      similarity,
      lengthDistance,
      lengthSimilarity,
      editDistance,
      editSimilarity,
      jaccardSimilarity,
      characterSimilarity,
      startsWithSimilarity);
}