Searching into mailboxes

I am trying out EagleFiler to see whether I should switch from Yojimbo. The two main reasons would be the transparent file storage and the mail archiving facilities.

But I have run into a snag: I have imported 20,000 or so old email messages. Now I’m stumped. When I try to search for content in the mail archives, I only get results when I have selected particular mailboxes in the source listing. When my entire library is selected, no mail messages are returned as the result of a search. That doesn’t seem right.

Similarly, under the tag listing in the Source pane, there are tags like “replied”, which clearly are attributes of many of my mail messages (and they are in fact shown when I have selected a mailbox). But if I select one of the tags in the Source pane, there are no messages shown in the main pane.

Why do the messages not show up when I search or when I select an appropriate tag?

That’s the way it works (currently). The search acts as a filter on the list of items. The Library source shows the list of files, not every message from every mailbox, so searching with just the Library selected just searches the files. To search for e-mail messages, you can select one or more mailboxes.

This is a limitation of the current version of EagleFiler. The next version will allow you to show messages in the tag sources.

As of EagleFiler 1.1, they will.

Could it be possible to add a collection called “everything” that would include the library and every mailbox? This would solve this problem without having to hunt for mailboxes that may be deep in the hierarchy.

I have another question: is mail in EF indexed by spotlight? I just tried searching for some of them and could not find them from spotlight.

I will consider that. What I do when I want to view a mailbox deep in the hierarchy is to search for it in the Library source, select it in the list, and then click Select (the left-arrow button).

No. For efficiency, EagleFiler stores each mailbox in a single file, and Spotlight only knows how to index mail when it’s stored as one file per message.

This works well when one knows in which mailbox to choose. I’ve been using Mail search a lot and I’ve found many messages in an unexpected mailbox.

No. For efficiency, EagleFiler stores each mailbox in a single file, and Spotlight only knows how to index mail when it’s stored as one file per message.

Is there any chance of you writing a spotlight importer for the file format you use for mailboxes? Or switching to a “one file per message” format?

Thanks a lot.

I might do that if Spotlight were enhanced to support indexing more than one “document” in a single file, but as it stands now there wouldn’t be much point in having it index the mailboxes.

Not likely. Part of the reason EagleFiler exists is because one-file-per-message is so inefficient, and because it bogs down Spotlight.

I see, too bad. I was hoping that it might be possible because spotlight works with iCal, Address Book, and Yojimbo, all of them having their data in monolithic formats (for instance all events of a given calendar are in a single file).

Thanks again.

The way those apps work is by saving one file per item into the folder ~/Library/Caches/Metadata, so that Spotlight can have something to index. I think that’s tolerable when there aren’t very many items, but it doesn’t scale well. You have the overhead of all the individual files, plus the app’s “real” data store in a .ics file or database.

Of course, if you want select e-mails to be searchable via Spotlight, you can import them into EagleFiler as individual RTF files. An easy way to do this is to select the message text in EagleFiler and invoke the Import Text service.

This was added in EagleFiler 1.1.4. As of EagleFiler 1.4, you can also create smart folders that display the contents of particular sub-hierarchies.

Starting in EagleFiler 1.4, you have the option to store messages as individual files (rather than in mailboxes) and these are indexed by Spotlight.