On 10/18/07, Jason Fesler jfesler@gigo.com wrote:
As a workaround, would it be reasonable to pull "foo" and "body:foo" queries in parallel and return the unique messages?
Enabling and using server side search should be a config flag. Don't just hit both and thrash everyone and everything. That'll burn CPU and worse I/O capacity for no good reason.
BTW, if you want fast imap server side search.. look at cyrus with daily runs of the cyrus squatter (full text indexing) utility. Cyrus is just a bit much to set up and maintain. The server side search with squatter databases built is wicked fast even on huge mailboxes. When I last ran Cyrus I was regularly opening/searching/closing mailboxes with 30,000 messages in them.
Does it do Maildir? ;)
I always heard that Cyrus starts to "suck" really bad the larger the mailboxes geht. That was the thing why I didn't use it so far and rather used Courier-Imap which has been pretty good to me (for forever).
Cyrus also has Sieve, which makes it even more interesting! ;)
Till _______________________________________________ List info: http://lists.roundcube.net/dev/
Does it do Maildir? ;)
Maildir + delivery time indexing.
I always heard that Cyrus starts to "suck" really bad the larger the mailboxes geht. That was the thing why I didn't use it so far and rather used Courier-Imap which has been pretty good to me (for forever).
The only thing I found that sucks on cyrus is the BDB usage (or the internal skiplist implementation) for storing indexes. If the indexes fry, it is a long slow recovery. In the "sucks for me, maybe not for others" category is everything is owned by one uid, and it isn't the actual owner. Which means, grep is not the user's friend.
As to speed, like I said, with 30,000 messages, it is fast. I can open such a mailbox in under a second with pine. Some mail clients insist on downloading the *entire* index for a mailbox instead of just the page of data they need, those don't notice it so much. And, with server side indexing, imap body searches super fast.
The reason I left cyrus is the db. I'm now running Dovecot, which is _another_ maildir implementation. With indexes. Except those can be built at delivery time, or .. as needed when the mailbox opens. And recovery time is damn fast. You can blow away the indexes and few people will notice. It also stores mail in the user's dir, owned as the user. Major downside: tt lacks the server side indexed body search. "mairix" helps _me_ for that problem (I can run a CLI and a new mail folder is created based on my search parameters; as a bonus it checks ALL my folders at once, and is fully indexed with bodies). That won't help RC at all though.
List info: http://lists.roundcube.net/dev/