Re: Deduplication ?
authorTomi Ollila <tomi.ollila@iki.fi>
Mon, 2 Jun 2014 14:17:33 +0000 (17:17 +0300)
committerW. Trevor King <wking@tremily.us>
Fri, 7 Nov 2014 18:03:07 +0000 (10:03 -0800)
bd/4f05e435130a53c4ff6bb4bf59008f52f6fc0f [new file with mode: 0644]

diff --git a/bd/4f05e435130a53c4ff6bb4bf59008f52f6fc0f b/bd/4f05e435130a53c4ff6bb4bf59008f52f6fc0f
new file mode 100644 (file)
index 0000000..d1c2471
--- /dev/null
@@ -0,0 +1,122 @@
+Return-Path: <tomi.ollila@iki.fi>\r
+X-Original-To: notmuch@notmuchmail.org\r
+Delivered-To: notmuch@notmuchmail.org\r
+Received: from localhost (localhost [127.0.0.1])\r
+       by olra.theworths.org (Postfix) with ESMTP id 55757431FAF\r
+       for <notmuch@notmuchmail.org>; Mon,  2 Jun 2014 07:17:47 -0700 (PDT)\r
+X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: 0\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[none]\r
+       autolearn=disabled\r
+Received: from olra.theworths.org ([127.0.0.1])\r
+       by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
+       with ESMTP id a6qh5T1ss-aH for <notmuch@notmuchmail.org>;\r
+       Mon,  2 Jun 2014 07:17:38 -0700 (PDT)\r
+Received: from guru.guru-group.fi (guru.guru-group.fi [46.183.73.34])\r
+       by olra.theworths.org (Postfix) with ESMTP id 6B477431FAE\r
+       for <notmuch@notmuchmail.org>; Mon,  2 Jun 2014 07:17:38 -0700 (PDT)\r
+Received: from guru.guru-group.fi (localhost [IPv6:::1])\r
+       by guru.guru-group.fi (Postfix) with ESMTP id D19C710005E;\r
+       Mon,  2 Jun 2014 17:17:33 +0300 (EEST)\r
+From: Tomi Ollila <tomi.ollila@iki.fi>\r
+To: Mark Walters <markwalters1009@gmail.com>,\r
+       Vladimir Marek <Vladimir.Marek@oracle.com>, notmuch@notmuchmail.org\r
+Subject: Re: Deduplication ?\r
+In-Reply-To: <87d2ers9mi.fsf@qmul.ac.uk>\r
+References: <20140602123212.GA12639@virt.cz.oracle.com>\r
+       <87d2ers9mi.fsf@qmul.ac.uk>\r
+User-Agent: Notmuch/0.18+28~gcecaba1 (http://notmuchmail.org) Emacs/24.3.1\r
+       (x86_64-unknown-linux-gnu)\r
+X-Face: HhBM'cA~<r"^Xv\KRN0P{vn'Y"Kd;zg_y3S[4)KSN~s?O\"QPoL\r
+       $[Xv_BD:i/F$WiEWax}R(MPS`^UaptOGD`*/=@\1lKoVa9tnrg0TW?"r7aRtgk[F\r
+       !)g;OY^,BjTbr)Np:%c_o'jj,Z\r
+Date: Mon, 02 Jun 2014 17:17:33 +0300\r
+Message-ID: <m2ppirs8ea.fsf@guru.guru-group.fi>\r
+MIME-Version: 1.0\r
+Content-Type: text/plain\r
+X-BeenThere: notmuch@notmuchmail.org\r
+X-Mailman-Version: 2.1.13\r
+Precedence: list\r
+List-Id: "Use and development of the notmuch mail system."\r
+       <notmuch.notmuchmail.org>\r
+List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
+       <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
+List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
+List-Post: <mailto:notmuch@notmuchmail.org>\r
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
+List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
+       <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
+X-List-Received-Date: Mon, 02 Jun 2014 14:17:47 -0000\r
+\r
+On Mon, Jun 02 2014, Mark Walters <markwalters1009@gmail.com> wrote:\r
+\r
+> Vladimir Marek <Vladimir.Marek@oracle.com> writes:\r
+>\r
+>> Hi,\r
+>>\r
+>> I want to import bigger chunk of archived messages into my notmuch\r
+>> database. It's about 100k messages. The problem is, that I most probably\r
+>> have quite a lot of those messages in the DB. Basically I would like to\r
+>> add only those I don't have already.\r
+>>\r
+>> There are two possibilities\r
+>>\r
+>> a) I will add all the 100k messages and then remove the duplicities.\r
+>>\r
+>> b) I will write a script which will parse the message ID's of the\r
+>>    to-be-added messages and try to match them to the notmuch DB. Adding\r
+>>    only files I can't find already.\r
+>>\r
+>> Ad b) might be better option, but I started to play with the idea of\r
+>> deduplication. I'm thinking about listing all the message IDs stored in\r
+>> DB, listing all files belonging to the IDs and deleting all but one.\r
+>> Also I'm thinking about implementing some simple algorithm telling me\r
+>> whether the messages are really very similar. Just to be sure I don't\r
+>> delete something I don't want to.\r
+>>\r
+>> Was anyone playing with the idea?\r
+>\r
+> I am not sure what your use case is but notmuch automatically\r
+> deduplicates: that is if the message-id is one it has already seen no\r
+> further indexing takes place. The only thing that happens is the new\r
+> filename gets added to the list of filenames for the message.\r
+>\r
+> Thus importing should be almost as fast as if the message were not\r
+> there, and the database should be almost identical to what you would get\r
+> if you only imported the genuine new messages.\r
+>\r
+> If you want to save disk space then you could delete the duplicates\r
+> after with something like\r
+>\r
+> notmuch search --output=files --format=text0 --duplicate=2 '*' piped to\r
+> xargs -0\r
+\r
+What if there are 3 duplicates (or 4... ;)\r
+\r
+>\r
+> (but please test it carefully first!)\r
+\r
+One should also have some message content heuristics to determine that the\r
+content is indeed duplicate and not something totally different (not that\r
+we can see the different content anyway... but...)\r
+\r
+>\r
+> I would think something like this is better than trying to parse the\r
+> message-ids yourself.\r
+\r
+\r
+>\r
+> Best wishes\r
+>\r
+> Mark\r
+>\r
+\r
+Tomi\r
+\r
+\r
+>\r
+>>\r
+>> -- \r
+>>     Vlad\r