Я пытаюсь сравнить названия компаний с помощью SOUNDEX, но вызов php для soundex выводит только 3 цифры, поэтому сравнения не совсем точны. Есть ли способ улучшить вывод звука, чтобы результаты были более точными?
Как проверить SOUNDEX в php, когда php SOUNDEX выводит только 3 цифры
Ответы (2)
В зависимости от того, против чего вы используете SOUNDEX, может быть дешевле запустить SOUNDEX() на уровне базы данных:
$result = $db->query("
SELECT
company.id,
company.name,
SOUNDEX(company.name) AS soundex
FROM
company
WHERE
company.name SOUNDS LIKE '$companyName'
");
person
Ry Biesemeyer
schedule
09.01.2009
должен ли я создать в самой базе данных mysql то, что индекс soundex опережает время?
- person AFG; 09.01.2009
На мой взгляд, преимущества этого (предельное увеличение производительности) не перевешивают боль/затраты (поддержание синхронизации столбца). Я настроил таблицу с 5000 уникальными именами, проиндексированным столбцом имен и запустил SOUNDEX для всех. Результаты: в среднем 1,8 мс против 1,5 мс только для получения данных без SOUNDEX.
- person Ry Biesemeyer; 12.01.2009