Gnus development mailing list
 help / color / mirror / Atom feed
From: Ted Zlatanov <tzz@lifelogs.com>
To: ding@gnus.org
Subject: Re: Abandoning the concept of groups as a storage medium?
Date: Fri, 08 May 2009 13:18:33 -0500	[thread overview]
Message-ID: <86bpq3h30m.fsf@lifelogs.com> (raw)
In-Reply-To: <kz3abl5dp3.fsf@randomsample.de>

On Mon, 04 May 2009 13:07:20 +0200 David Engster <deng@randomsample.de> wrote: 

DE> I think the registry should save all important headers of a message, and
DE> maybe also some MIME information, like attachment names. Of course, as
DE> Ted also said, this information can't be saved anymore in plain text
DE> files like gnus.registry.eld, but needs some kind of external database
DE> back end.

You're probably thinking of saving the keywords too, yes?  Generally any
key-val map should be storeable; this is ridiculously easy with proper
hashtable serialization, which is coming in Emacs CVS once the pretest
is over.  I have a patch ready to go.  With that serialization, we can
finally write out the registry whole or piece by piece in one simple
command, and read it back just as easily.

With an IMAP storage backend for the registry, this could result in
registry entries stored in messages like this:

Subject: [entry subject]
Keywords: [entry keywords]
Message-ID: [entry ID].gnus.registry (so it doesn't collide with the original)
... other headers ...

[whole serialized entry as the body]

so then we could do IMAP SEARCH by keyword, for example.

>> nnregistry?
>> group list: dynamic based on tags (labels) defined by user
>> article list in group: generated on entry with a tag search
>> article retrieve: uses the original article backend

DE> Exactly. What makes this stuff difficult is that article numbers in Gnus
DE> have to be unique, just like in IMAP. nnmairix "solves" this problem by
DE> adding an offset to the article numbers each time a group is re-created.

I wonder if it would be possible to use message IDs as article numbers.

DE> However, full text search is another matter entirely. This simply cannot
DE> be done in Emacs Lisp.
>> 
>> The index necessary for good search performance would be huge, but easy
>> to store in a database (on a server, on IMAP, whatever).  It's easy to
>> parallelize these searches (especially with IMAP as the backend).  So
>> there's some hope.

DE> Maybe. But just feeding such a database through Emacs Lisp would already
DE> be a very time consuming task, considering the huge amount of mails many
DE> people have (I have about 1GB, and I think this is pretty average).

I think it's possible, as long as we keep the indexing and searching on
the server, and Emacs Lisp is only the query and display agent.
Displaying large amounts of data is not so bad if you can get it 50
results at a time...

Ted




      reply	other threads:[~2009-05-08 18:18 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-25 10:05 Jan Rychter
2009-04-28  8:56 ` David Engster
2009-04-29 10:58   ` David Engster
2009-04-30 19:27   ` Ted Zlatanov
2009-05-04 11:07     ` David Engster
2009-05-08 18:18       ` Ted Zlatanov [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=86bpq3h30m.fsf@lifelogs.com \
    --to=tzz@lifelogs.com \
    --cc=ding@gnus.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).