Return-Path: X-Original-To: notmuch@notmuchmail.org Delivered-To: notmuch@notmuchmail.org Received: from localhost (localhost [127.0.0.1]) by olra.theworths.org (Postfix) with ESMTP id 1804F431FBC for ; Mon, 2 Jun 2014 06:51:13 -0700 (PDT) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Spam-Flag: NO X-Spam-Score: 0.502 X-Spam-Level: X-Spam-Status: No, score=0.502 tagged_above=-999 required=5 tests=[DKIM_ADSP_CUSTOM_MED=0.001, FREEMAIL_FROM=0.001, NML_ADSP_CUSTOM_MED=1.2, RCVD_IN_DNSWL_LOW=-0.7] autolearn=disabled Received: from olra.theworths.org ([127.0.0.1]) by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id z42UBbi1kTKh for ; Mon, 2 Jun 2014 06:51:05 -0700 (PDT) Received: from mail2.qmul.ac.uk (mail2.qmul.ac.uk [138.37.6.6]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by olra.theworths.org (Postfix) with ESMTPS id A5A72431FAE for ; Mon, 2 Jun 2014 06:51:05 -0700 (PDT) Received: from smtp.qmul.ac.uk ([138.37.6.40]) by mail2.qmul.ac.uk with esmtp (Exim 4.71) (envelope-from ) id 1WrSdj-0003eJ-4U; Mon, 02 Jun 2014 14:51:03 +0100 Received: from 5751dfa2.skybroadband.com ([87.81.223.162] helo=localhost) by smtp.qmul.ac.uk with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.71) (envelope-from ) id 1WrSdi-0005uz-Rf; Mon, 02 Jun 2014 14:51:03 +0100 From: Mark Walters To: Vladimir Marek , notmuch@notmuchmail.org Subject: Re: Deduplication ? In-Reply-To: <20140602123212.GA12639@virt.cz.oracle.com> References: <20140602123212.GA12639@virt.cz.oracle.com> User-Agent: Notmuch/0.15.2+615~g78e3a93 (http://notmuchmail.org) Emacs/23.4.1 (i486-pc-linux-gnu) Date: Mon, 02 Jun 2014 14:51:01 +0100 Message-ID: <87d2ers9mi.fsf@qmul.ac.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Sender-Host-Address: 87.81.223.162 X-QM-Geographic: According to ripencc, this message was delivered by a machine in Britain (UK) (GB). X-QM-SPAM-Info: Sender has good ham record. :) X-QM-Body-MD5: dd1566ba4e20a2890032dba656f3d5dc (of first 20000 bytes) X-SpamAssassin-Score: -0.1 X-SpamAssassin-SpamBar: / X-SpamAssassin-Report: The QM spam filters have analysed this message to determine if it is spam. We require at least 5.0 points to mark a message as spam. This message scored -0.1 points. Summary of the scoring: * 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider * (markwalters1009[at]gmail.com) * -0.1 AWL AWL: From: address is in the auto white-list X-QM-Scan-Virus: ClamAV says the message is clean X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Jun 2014 13:51:13 -0000 Vladimir Marek writes: > Hi, > > I want to import bigger chunk of archived messages into my notmuch > database. It's about 100k messages. The problem is, that I most probably > have quite a lot of those messages in the DB. Basically I would like to > add only those I don't have already. > > There are two possibilities > > a) I will add all the 100k messages and then remove the duplicities. > > b) I will write a script which will parse the message ID's of the > to-be-added messages and try to match them to the notmuch DB. Adding > only files I can't find already. > > Ad b) might be better option, but I started to play with the idea of > deduplication. I'm thinking about listing all the message IDs stored in > DB, listing all files belonging to the IDs and deleting all but one. > Also I'm thinking about implementing some simple algorithm telling me > whether the messages are really very similar. Just to be sure I don't > delete something I don't want to. > > Was anyone playing with the idea? I am not sure what your use case is but notmuch automatically deduplicates: that is if the message-id is one it has already seen no further indexing takes place. The only thing that happens is the new filename gets added to the list of filenames for the message. Thus importing should be almost as fast as if the message were not there, and the database should be almost identical to what you would get if you only imported the genuine new messages. If you want to save disk space then you could delete the duplicates after with something like notmuch search --output=files --format=text0 --duplicate=2 '*' piped to xargs -0 (but please test it carefully first!) I would think something like this is better than trying to parse the message-ids yourself. Best wishes Mark > > -- > Vlad > _______________________________________________ > notmuch mailing list > notmuch@notmuchmail.org > http://notmuchmail.org/mailman/listinfo/notmuch