How to improve mail search from iPad and other mobile devices
robm at fastmail.fm
Wed Sep 24 02:08:10 EDT 2014
> According to Apple's manual, Mail searches all folders like this:
> "Searching looks at the address fields, the subject, and the message
FYI when we found out about this change, we made all BODY searches from
iOS become FUZZY BODY searches to make them work reasonably.
This works great with the xapian indexes we have, though it searches for
"terms" not "sub-strings".
On the other hand, there is one massive performance win. The xapian
index is considered "complete", unlike the squatter index which just
says "maybe". This means we can return a UID list directly from the
xapian index without having to actually open any emails.
With squatter, the index tells it which emails *might* contain the
sub-string. It then has to actually open each email file to check if the
sub-string is in there, quite a bit of slow & random IO. Also any emails
not in the squatter index have to be opened and checked as well.
As Bron mentioned in another post, our xapian index is kept up-to-date
in realtime by indexing newly arrived emails into tmpfs, which are then
compressed down to a disk at regular intervals.
All up, the approach works amazingly well.
More information about the Info-cyrus