Class FuzzyScore
java.lang.Object
org.apache.commons.text.similarity.FuzzyScore
A matching algorithm that is similar to the searching algorithms implemented in editors such
as Sublime Text, TextMate, Atom and others.
One point is given for every matched character. Subsequent matches yield two bonus points. A higher score indicates a higher similarity.
This code has been adapted from Apache Commons Lang 3.3.
- Since:
- 1.0
-
Constructor Summary
ConstructorsConstructorDescriptionFuzzyScore(Locale locale) Constructs a new instance for aLocale-specificFuzzyScore. -
Method Summary
Modifier and TypeMethodDescriptionfuzzyScore(CharSequence term, CharSequence query) Computes the Fuzzy Score which indicates the similarity score between two Strings.Gets the locale.
-
Constructor Details
-
FuzzyScore
Constructs a new instance for aLocale-specificFuzzyScore.- Parameters:
locale- The string matching logic is case insensitive. ALocaleis necessary to normalize both Strings to lower case.- Throws:
IllegalArgumentException- This is thrown if theLocaleparameter isnull.
-
-
Method Details
-
fuzzyScore
Computes the Fuzzy Score which indicates the similarity score between two Strings.score.fuzzyScore(null, null) = Throws
IllegalArgumentExceptionscore.fuzzyScore("not null", null) = ThrowsIllegalArgumentExceptionscore.fuzzyScore(null, "not null") = ThrowsIllegalArgumentExceptionscore.fuzzyScore("", "") = 0 score.fuzzyScore("Workshop", "b") = 0 score.fuzzyScore("Room", "o") = 1 score.fuzzyScore("Workshop", "w") = 1 score.fuzzyScore("Workshop", "ws") = 2 score.fuzzyScore("Workshop", "wo") = 4 score.fuzzyScore("Apache Software Foundation", "asf") = 3- Parameters:
term- a full term that should be matched against, must not be null.query- the query that will be matched against a term, must not be null.- Returns:
- result score.
- Throws:
IllegalArgumentException- if the term or query isnull.
-
getLocale
Gets the locale.- Returns:
- The locale
-