Chieftec
@Chieftec
Родился и вырос

Сравнение двух и более записей в БД

Всем добрый день!

Встала задача сравнения текстов двух и более записей в базе данных между собой.
Более конкретно: имеются поля типа text например 20 записей в БД mysql. Нужно их тексты сравнить между собой на схожесть (на основе схожих слов или словосочетаний), выявить процент схожести.
Есть ли готовые решения или скрипты которые это могли бы реализовать?
  • Вопрос задан
  • 4452 просмотра
Пригласить эксперта
Ответы на вопрос 4
script88
@script88
Если Вам подойдет результат сравнения 2 таблиц, то можете установить maatkit (percona toolkit) и использовать из нее утилиту mk-sync-table
Это пример из моего скрипта для деплоя БД 2 серверов.
mk-table-sync --verbose --print --charset=$DB_CHARSET, h=$DBHOST_STAGE,P=$DBPORT_STAGE,u=$DBUSER_STAGE,p=$DBPASS_STAGE,t=$TABLE_LIST,D=$DBNAME_STAGE h=$DBHOST_PROD,P=$DBPORT_PROD,u=$DBUSER_PROD,p=$DBPASS_PROD,t=$TABLE_LIST,D=$DBNAME_PROD > $DIR_DB$DB_DATA_SQL
Ответ написан
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Было бы неплохо узнать, что именно нужно сравнить в текстах… А так есть стандартная функция similar_text. Или вам нужен diff?
Ответ написан
deadkrolik
@deadkrolik
Ответ написан
Комментировать
Chieftec
@Chieftec Автор вопроса
Родился и вырос
Возвращаюсь к вопросу, немного осмыслив высказанное в ответ.
Я попробовал similar_text но он оказался слишком прост для моей задачи. Попробую ее конкретизировать.
У меня есть, например 30 текстов. Они распределены по 5 категориям. Задача: сравнить все 30, чтобы объединить их в меньшее количество по схожести. Язык — php, база — mysql
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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