Альтернативы реализации нечеткого соответствия Lucene по умолчанию - PullRequest
1 голос
/ 18 мая 2010

Нечеткое сопоставление Lucene использует базовый алгоритм editDistance для реализации нечеткого сопоставления. Существуют ли другие реализации нечеткого сопоставления для Lucene, которые используют другие метрики подобия? Они должны также идентифицировать гомофоны. Также, пожалуйста, сравните различные подходы нечеткого соответствия для lucene.

Ответы [ 2 ]

1 голос
/ 18 мая 2010

Не думайте, что Lucene предлагает какие-либо другие алгоритмы сопоставления строк, однако вы можете добавить его самостоятельно. Здесь - хорошая библиотека, которая содержит наиболее известные алгоритмы сравнения строк.

0 голосов
/ 07 августа 2018

Что-то, что я делал, довольно просто и работает в большинстве сценариев (В моем сценарии у меня есть 6,7 миллиона имен событий, из грязной таблицы, в которой есть слегка измененные или детализированные версии имен событий, и таблица, с которой я нечетко сопоставляю, имеет все чистые имена событий)

``select distinct a.Column, b.Column 
from tableA a 
inner join tableB b 
on '%' + SUBSTRING(b.Column, x, y) + '%' = '%' + SUBSTRING(a.Column, x, y) + '%'
order by a.Column asc;``

Моя проблема в том, что, если бы я просто провел нечеткое сопоставление без подстроки, я получил бы только около 11 результатов из-за того, насколько неясными были соглашения об именах между ними. Это решение показывает, что все события детализации при детализации сопоставляются с их более широкими аналогами в чистой таблице.

...