Hello, Timo,
I feel a bit unsure about "which 'date' I mean", since I always consider the only date from Date: header. But which value is used as INTERNALDATE then? As soon as I use (for now) maildir storage type, all the metadata are stored in messages. So I expect Dovecot somehow parse and use Date: field itself, or I'm wrong with it? And also what's about messages without Date header at all?
But the Date isn't the worst thing. Look, to have my archive work I setup server-side filter which redirect all messages it processed also to my archive mailbox. This way, each message (after such a redirect) targeted to 'archive@mydomain', instead of its original destination email. The only place I can find out the original recipient is to parse 'Recieved' field(-s).
As I think I understand that none of these headers (Date or Received) are to be used for SEARCH anyway, and this was the idea behind creating my own index. But wait, is there any way I can make Dovecot also index additional fields (yes, I talk about 'Received') - then it'll be the best solution!
Thank you, Timo, for your work, yours, Alexander
09.04.2012 18:03, Timo Sirainen написал:
On 9.4.2012, at 17.58, Alexander Chekalin wrote:
as I need to store a lot of messages on my IMAP server (order of 900K-1000K; this is an archive for some time, maybe a year or so), I see some "slowness" in dealing with such a huge amount. I mainly need to do searches like "get all messages from user1@domain1.com to user2@domain2.tld recieved between date1 and date2". So by "received between date" you mean the IMAP INTERNALDATE as opposed to Date: header? These kind of searches are looked up from the index/cache files, and the performance should be exactly the same with all of the mailbox formats. It would be useful to figure out what exactly is causing the slowness. Is the SEARCH command slow? Something else? Is the slowness about user CPU, system CPU or disk IO?