Поиск и объединение дубликатов тем

Мой импорт из Yahoo Groups привёл к фрагментации множества тем (либо потому, что пользователи ранее некорректно отвечали, либо потому, что Yahoo не обеспечивал целостность тем, либо потому, что скрипт импорта некорректно распознал структуру данных Yahoo — или из-за сочетания этих факторов). В одном из случаев это привело к созданию более дюжины тем в Discourse с одинаковыми заголовками, которые на самом деле были частью одного обсуждения.

Это порождает два вопроса:

  • Существует ли автоматический способ обнаружения таких дубликатов? Мой сайт настроен так, чтобы не допускать дубликатов тем, но более 20 тысяч импортированных тем не учли это ограничение.
  • После их обнаружения можно ли объединить их в одну тему, сохранив хронологию сообщений? Я знаю, что можно вручную перемещать сообщения в другую тему, и это частично решает задачу, однако хронология при этом сохраняется не очень хорошо, а процесс довольно утомителен (гаечный ключ → выбор постов → выбрать все → переместить в → существующая тема → ввести номер → переместить → назад → гаечный ключ → скрыть тему → повторять).
  • (Хорошо, три вопроса) можно ли выполнить вышеуказанное без обновления активности темы? Одна из тем, которую я вручную очистил, была пятнадцатилетней давности, и каждый раз при перемещении постов в неё рассылалось уведомление пользователям с включённым режимом рассылки (а это большинство из них), что вызвало небольшую путаницу.

Часть меня считает, что архивы — это архивы, и их можно оставить как есть, но я бы предпочёл, чтобы они были более полезными, а это означало бы, что обсуждения имели бы большую целостность, чем сейчас.

Вы можете выполнить поиск, отсортированный по названию, чтобы найти дубликаты. Вы можете запустить скрипт в консоли Rails для их объединения, хотя я не знаю, существуют ли какие-либо примеры.

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