Реализация расстояния Левенштейна для поиска mysql/fuzzy?

Необходимо было добавить один / в конце:

curl serverX.example.com/secret/

С Firefox работает нормально, но с curl или elinks, нет.

С уважением.

44
задан Nathan Koop 23 December 2011 в 17:49
поделиться

3 ответа

Для эффективного поиска использования levenshtein расстояние, Вам нужен эффективный, специализированный индекс, такой как дерево книги . К сожалению, никакая система баз данных, которую я знаю, включая MySQL, не реализует древовидные индексы книги. Это далее сложно при поиске полнотекстового поиска вместо просто единственного термина на строку. Бесцеремонно, я не могу думать ни о каком способе, которым Вы могли сделать полнотекстовое индексирование способом, который допускает поиск на основе levenshtein расстояния.

11
ответ дан Hongzheng 26 November 2019 в 22:20
поделиться

Реализация для damerau-levenshtein расстояния может быть найдена здесь: алгоритм Damerau-Levenshtein: Levenshtein с перемещениями улучшение по сравнению с чистым расстоянием Левенштейна - то, что свопинг символов рассматривают. Я нашел его в комментариях ссылки schnaader, Спасибо!

5
ответ дан Ponk 26 November 2019 в 22:20
поделиться

I am setting up a search based on Levenshtein or Damerau-Levenshtein (probably the latter) for multiple searches over an indexed text, based on a paper by by Gonzalo Navarro and Ricardo Baeza-yates: link text

After building a suffix array (see wikipedia), if you are interested in a string with at most k mismatches to the search string, break the search string into k+1 pieces; at least one of those must be intact. Find the substrings by binary search over the suffix array, then apply the distance function to the patch around each matched piece.

2
ответ дан 26 November 2019 в 22:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: