Skip to content

Commit a7477f9

Browse files
committed
deprecating jarowinkler in favor of jaro_winkler
1 parent b72ad1f commit a7477f9

File tree

4 files changed

+18
-5
lines changed

4 files changed

+18
-5
lines changed

core/src/main/java/org/elasticsearch/search/suggest/phrase/DirectCandidateGeneratorBuilder.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -474,7 +474,10 @@ static StringDistance resolveDistance(String distanceVal) {
474474
return new LevensteinDistance();
475475
} else if ("levenshtein".equals(distanceVal)) {
476476
return new LevensteinDistance();
477-
} else if ("jaro_winkler".equals(distanceVal) || "jarowinkler".equals(distanceVal)) {
477+
} else if ("jarowinkler".equals(distanceVal)) {
478+
DEPRECATION_LOGGER.deprecated("Deprecated distance [jarowinkler] used, replaced by [jaro_winkler]");
479+
return new JaroWinklerDistance();
480+
} else if ("jaro_winkler".equals(distanceVal)) {
478481
return new JaroWinklerDistance();
479482
} else if ("ngram".equals(distanceVal)) {
480483
return new NGramDistance();

core/src/main/java/org/elasticsearch/search/suggest/term/TermSuggestionBuilder.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -595,8 +595,10 @@ public static StringDistanceImpl resolve(final String str) {
595595
return LEVENSHTEIN;
596596
case "ngram":
597597
return NGRAM;
598-
case "jaro_winkler":
599598
case "jarowinkler":
599+
DEPRECATION_LOGGER.deprecated("Deprecated distance [jarowinkler] used, replaced by [jaro_winkler]");
600+
return JARO_WINKLER;
601+
case "jaro_winkler":
600602
return JARO_WINKLER;
601603
default: throw new IllegalArgumentException("Illegal distance option " + str);
602604
}

core/src/test/java/org/elasticsearch/search/suggest/phrase/DirectCandidateGeneratorTests.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,6 @@ public void testFromString() {
7777
assertThat(DirectCandidateGeneratorBuilder.resolveDistance("damerau_levenshtein"), instanceOf(LuceneLevenshteinDistance.class));
7878
assertThat(DirectCandidateGeneratorBuilder.resolveDistance("levenshtein"), instanceOf(LevensteinDistance.class));
7979
assertThat(DirectCandidateGeneratorBuilder.resolveDistance("jaro_winkler"), instanceOf(JaroWinklerDistance.class));
80-
assertThat(DirectCandidateGeneratorBuilder.resolveDistance("jaroWinkler"), instanceOf(JaroWinklerDistance.class));
8180
assertThat(DirectCandidateGeneratorBuilder.resolveDistance("ngram"), instanceOf(NGramDistance.class));
8281

8382
expectThrows(IllegalArgumentException.class, () -> DirectCandidateGeneratorBuilder.resolveDistance("doesnt_exist"));
@@ -89,6 +88,11 @@ public void testLevensteinDeprecation() {
8988
assertWarnings("Deprecated distance [levenstein] used, replaced by [levenshtein]");
9089
}
9190

91+
public void testJaroWinklerDeprecation() {
92+
assertThat(DirectCandidateGeneratorBuilder.resolveDistance("jaroWinkler"), instanceOf(JaroWinklerDistance.class));
93+
assertWarnings("Deprecated distance [jarowinkler] used, replaced by [jaro_winkler]");
94+
}
95+
9296
private static DirectCandidateGeneratorBuilder mutate(DirectCandidateGeneratorBuilder original) throws IOException {
9397
DirectCandidateGeneratorBuilder mutation = copy(original);
9498
List<Supplier<DirectCandidateGeneratorBuilder>> mutators = new ArrayList<>();
@@ -214,7 +218,7 @@ public static DirectCandidateGeneratorBuilder randomCandidateGenerator() {
214218
maybeSet(generator::size, randomIntBetween(1, 20));
215219
maybeSet(generator::sort, randomFrom("score", "frequency"));
216220
maybeSet(generator::stringDistance,
217-
randomFrom("internal", "damerau_levenshtein", "levenshtein", "jaro_winkler", "jarowinkler", "ngram"));
221+
randomFrom("internal", "damerau_levenshtein", "levenshtein", "jaro_winkler", "ngram"));
218222
maybeSet(generator::suggestMode, randomFrom("missing", "popular", "always"));
219223
return generator;
220224
}

core/src/test/java/org/elasticsearch/search/suggest/term/StringDistanceImplTests.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@ public void testFromString() {
4949
assertThat(StringDistanceImpl.resolve("damerau_levenshtein"), equalTo(StringDistanceImpl.DAMERAU_LEVENSHTEIN));
5050
assertThat(StringDistanceImpl.resolve("levenshtein"), equalTo(StringDistanceImpl.LEVENSHTEIN));
5151
assertThat(StringDistanceImpl.resolve("jaro_winkler"), equalTo(StringDistanceImpl.JARO_WINKLER));
52-
assertThat(StringDistanceImpl.resolve("jarowinkler"), equalTo(StringDistanceImpl.JARO_WINKLER));
5352
assertThat(StringDistanceImpl.resolve("ngram"), equalTo(StringDistanceImpl.NGRAM));
5453

5554
final String doesntExist = "doesnt_exist";
@@ -64,6 +63,11 @@ public void testLevensteinDeprecation() {
6463
assertWarnings("Deprecated distance [levenstein] used, replaced by [levenshtein]");
6564
}
6665

66+
public void testJaroWinklerDeprecation() {
67+
assertThat(StringDistanceImpl.resolve("jaroWinkler"), equalTo(StringDistanceImpl.JARO_WINKLER));
68+
assertWarnings("Deprecated distance [jarowinkler] used, replaced by [jaro_winkler]");
69+
}
70+
6771
@Override
6872
public void testWriteTo() throws IOException {
6973
assertWriteToStream(StringDistanceImpl.INTERNAL, 0);

0 commit comments

Comments
 (0)