Відсів схожих записів

  • Sphinx


У нас в проекті користувачі додають матеріал - це текстовий рядок, довжиною до 300 символів.

Дуже багато зустрічається дублікатів. Хотів би при додаванні зробити перевірку: якщо додається рядок схоже на 90% з вже доданими, то не давати додати.


Як БД використовується MySQL.


На даний момент прийшло в голову рішення таке:


- прибираємо з рядка всі розділові знаки і пропуски

- опускаємо в нижній регістр

- робимо md5 хеш отриманого

- додаємо хеш в окреме поле в БД

- при додаванні нового - звіряємо, чи немає такого в БД


Рішення не найкраще, можливо є що-небудь по краще?


P.S. Записів приблизно 10 тис. На добу додається 500 нових. Є можливість задіяти sphinx, але не знайшов в ньому схожого функціоналу.

Схожі статті