Как выбрать строки по проценту схожести в mysql?

Есть текстовые записи (mediumtext), размерами 1-100 кб, количество записей - 100к-1м.

Требуется найти записи со схожестью более 90% для последующего их объединения. В php есть функция similar_text(), которая на 100% соответствует задаче. Есть ли подобное в mySQL? Soundex и Levenshtein не подходит. Очень бы хотелось что-то наподобии:

SELECT id, SIMILAR_TEXT( 'проверяемый текст', str ) AS perc
FROM table
HAVING perc > 90
  • Вопрос задан
  • 1456 просмотров
Пригласить эксперта
Ответы на вопрос 3
slinkinone
@slinkinone
Агент "Везде успеть"
Мне кажется вам стоит написать свою хранимую функцию и реализовать в ней алгоритм, который заложен в similar_text.
php.net/manual/ru/function.similar-text.php - здесь указано название алгоритма, который лежит в основе данной функции.
Ответ написан
Комментировать
elevenelven
@elevenelven
Php Dev @ Amadeus
Задача на сортировку по релевантности.
Вот ссылка на теорию.
https://dev.mysql.com/doc/refman/5.0/en/fulltext-n...

Вот практический пример.
jslim.net/blog/2014/01/23/mysql-search-order-by-re...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы