Search for/merge duplicate topics

My import from Yahoo groups has resulted in many topics being fragmented (whether because the users weren’t replying properly in the past, because Yahoo didn’t keep the topic together properly, or because the import script didn’t correctly recognize what Yahoo had done–or some combination of these)–in one case I ran across, this resulted in over a dozen Discourse topics, all with the same title, that were all in fact part of the same discussion. This leads to two questions:

  • Is there an automatic way of finding these duplicates? My site isn’t set to allow duplicate topics, but the 20k+ topics I imported didn’t respect this setting.
  • Having found them, is there a way to merge them into a single topic, preserving the chronology of the messages? I know I can individually move messages to another topic, and that kind of does the job, except that it doesn’t keep the chronology very well, and it’s kind of tedious (wrench, select posts, select all, move to, existing topic, enter number, move, back, wrench, unlist topic, lather, rinse, repeat).
  • (OK, three questions) can the above be done without bumping the topic? One topic I manually cleaned up was 15 years old, and every time I moved posts into it, it sent out emails to my users who had mailing list mode enabled (which is most of them), resulting a little confusion.

There’s a part of me that feels like archives are archives and I can just let them be–but I’d prefer they be a bit more useful, which would mean that discussions have a bit more integrity than they have right now.

1 Like

You could do a search sorted by title to find the dupes. You could run a rails console script to merge them, though I don’t know that any examples exist.

If you have a budget and no one offers a solution here you could ask in #marketplace.

2 Likes