Lucene.NET (нечеткое соответствие строк)

может ли кто-нибудь дать мне пример о том, как сделать нечеткое сопоставление двух строк с помощью Lucene.NET (или используя Java-версию Lucene, или на любом другом языке, который имеет порт Lucene).

1 ответов


не могли бы вы быть немного более конкретно, что вы подразумеваете под нечеткого соответствия?

Lucene предлагает нечеткие запросы с использованием оператора Тильды(~) и подстановочных знаков (* & ?) посмотреть здесь

Если вы хотите сравнить расстояние строки 2 строк с помощью таких методов, как Levenshtein, Jaro-Winkler и т. д. вам лучше использовать отдельную библиотеку, такую как SimMetrics. Я использую Simmetrics на своем производственном сайте, и он работает потрясающе.

SimMetricsMetricUtilities.Levenstein ls = new SimMetricsMetricUtilities.Levenstein(); //compare string 1, string 2 
double sim = ls.GetSimilarity(string_1, string_2); 
if(sim > [some value]) 
{ 
//do something 
}