The two most common criticisms of Spotlight search are that it fails to find items which we believe are there, and that its searches return too many hits to let us locate the item that we want. There are many possible causes of failure to find, which I will examine in another article, but common to both criticisms is the need to find a replacement. This article looks at what’s available.
Before going any further, it’s important to establish that, in general, searching modern disks containing 500 GB or more of files, there’s nothing better than using an index. Grinding your way through a million or more files inspecting each for a string of characters inevitably takes a very long time, and is entirely dependant on gaining access to their contents. As there currently appears to be no alternative to Spotlight’s index, search tools which don’t use it are going to be at a severe disadvantage, both in terms of performance and coverage.
The free app EasyFind, by DEVONtechnologies, is Spotlight-free. Although content search doesn’t appear to be its primary purpose, it includes a simple set of controls which allow you to search for text in text-based files.
Thomas Tempelmann’s Find Any File (FAF), which costs around $/€/£ 6 direct or in the App Store is primarily a tool for searching file systems, but also throws in basic content search for free. It tackles this in an interest way, using Spotlight’s index first when that’s enabled and available, to return a quick set of hits, then makes its way steadily through its own content search, again primarily of text-based formats.
The result is a useful composite of hits achieved using both techniques, which is the best of both worlds. However, it doesn’t appear to support customised search of the Spotlight index, based for instance on specific metadata. In this case, it did search EXIF metadata, but doesn’t cover material stored in extended attributes, for instance.
HoudahSpot is more expensive, at around $/€/£ 34, and is the more powerful and sophisticated sibling to Tembo, which is slightly less than half the price. These are both entirely dependent on the Spotlight indexes, but provide a far superior interface which supports defaults, templates, logical combinations of criteria, multiple excluded locations – the list of features appears almost endless. For anyone fed up with the Finder’s steadily more puny front-end to Spotlight search, this should be your first choice.
It also has at least one unique feature: it can search Mail’s mailboxes in Catalina and Big Sur, something which Finder search no longer supports. If you’ve been frustrated with the weak facilities in the Mail app, HoudahSpot is again first choice.
Finally, I’m not going to look at Alfred, although it does provide a front end to Spotlight search. Alfred is a very different beast, and compelling in many other ways. HoudahSpot has an optional link to work with Alfred, which should be an interesting combination.
To test the efficacy of each search, I saved the term
syzygy999 with a suffix such as
a inside a modest surrounding document into eleven different locations:
- Five documents in RTF, PDF, plain text, HTML and Word docx formats.
- Two documents with the term saved in metadata, one in the EXIF Device data of a JPEG image, the other in the Keywords extended attribute of a plain text file.
- Two email messages, one in a Mail mailbox, the other in a Postbox mailbox.
- Two notes in the Notes app, one stored locally, the other in iCloud.
Test documents were stored in their own folder in ~/Documents, the total size of which is 60 GB for 32,236 items, on the fast internal SSD of an iMac Pro. All apps were given Full Disk Access in the Privacy tab before use, although on this occasion I don’t think that any needed that for the tests.
All Spotlight searches were essentially instantaneous, but searching ~/Documents in EasyFind took 21 seconds, and 37 seconds in Find Any File (that reduces to 27 seconds when using the latest beta-release).
Searching document contents was surprisingly troubled. Only FAF, with its combination of Spotlight and data inspection, found all the documents in the test set. Strangely, Spotlight, even when accessed through HoudahSpot, failed to find the search term in the RTF file, but found all the others. EasyFind performed worst of all, and only found the term in three files: RTF, plain text, and HTML. All three apps were able to search a folder in iCloud Drive as well as one in ~/Documents.
Searching metadata also produced varying results. Spotlight (with or without HoudahSpot) was able to find a term saved in Keywords metadata (an extended attribute), but neither EasyFind nor FAF could. Spotlight and FAF (during its initial search phase) found the EXIF metadata, but EasyFind couldn’t.
The only method capable of searching Mail mailboxes is Spotlight accessed through HoudahSpot. To do this, you need to install HoudahSpot’s Mail plug-in, to have the Mail app open at the same time, and to use HoudahSpot’s template. None of the search methods was able to find content in local or iCloud Notes, nor in Postbox’s mailbox.
None of the search methods succeeded on all the tests. Searching Notes is only supported by the app’s own local search ‘Core Spotlight’, and only HoudahSpot proved able to search Mail’s mailboxes from outside the Mail app.
The apparent absence of RTF data in the Spotlight index is a problem which I’ve encountered before, in Catalina rather than Big Sur, and I suspect is the result of a bug in the RichText.mdimporter in macOS, although I have yet to follow this up more carefully. It illustrates the reliance of Spotlight on good harvesting of data for its indexes, and the fact that the user can’t work around such problems.
The only answer is to have all of these products: I now use HoudahSpot as my primary search app, and wouldn’t be without it, but know that being able to fall back on Find Any File and EasyFind is essential. But I wouldn’t go back to struggling with Finder search ever again. Don’t forget: you can never have too many good tools.