Лучший алгоритм для поиска похожего текста

Я пытаюсь объединить записи в базе данных, я использую алгоритм Левенштейна и работает в некоторых случаях,

Рабочий образец (расстояние <= 2):

* --------- * ---------- * -------- *
|  Looking  |    Finds   | Distance |
* --------- * ---------- * -------- *
| No existe | No Existe  |     1    |
| desempleo | Desempleo  |     1    |    
* --------- * ---------- * -------- *

это здорово, но игнорирует случаи с мэрами, как:

  • Femenino а также FEMENINO с 7 расстояния

Примечание: я ищу решение PHP

1 ответ

Решение

Сравнить

   echo levenshtein("Femenino", "FEMENINO");    // 7

В.С.

 echo levenshtein(strtolower("Femenino"), strtolower("FEMENINO"));  //0

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

Другие вопросы по тегам