OS X's (disappointing) full text search at your fingertips

Thursday 17 June 2004 at 12:45

Hey Tim, use the Find command.

While pointing to Joel's excellent discussion about the API war, Tim asked why we don't have full text search close at hand

We’ve had good full-text search technology since the Seventies, and in the last ten years more or less everybody has become a regular user of full-text search. Why isn’t there good built-in full-text desktop search available right now today on both OS X and Windows, out of the box?

Tim, I know you're using OS X:
1. Type Command-Tab until you get to the finder
2. Type Command-F.

Search for items whose Content includes your search string.

Update: then there's the part about indexed full-text search. In the context of Joel's piece I can't help but restate Tim's point: one particular web application is insanely more useable for search than the most usable OS on the planet. Announcer: "Those richUIs are looking a little exhausted as the webapps score one more."

Simon Willison commented

17 June 2004 at 17:17

Is that a properly indexed full-text search, or just a straight forward grep-style file scan? It doesn't seem very fast on my machine (Tim's looking for sub-second response times I imagine) but then I may not have set it up to index properly.

eric commented

17 June 2004 at 18:46

Simon,

I have lost this comment twice today for having to hard restart my laptop. I think there's a correlation, but let me come to that later. With the trusty help of emacs this will hopefully be the last time I retype this.

I pinged Tim with an email 'cos I'm about certain he's not subscribed to my blog. He replied quite quickly with exactly the complaint about indexing. Having gotten a somewhat obvious reply to a somewhat obvious suggestion I had to check a little further. Back in the 90's I remember an Apple rep being quite excited about some search technology their engineers had been cooking up. I think that became Sherlock before it morphed into a copycat of Watson. Surely Apple wouldn't just loose that full-text search. Surely, from their usability throne, they would index it.

There's evidence of indexing in the Finder Preferences Advanced pane. You can Select "Languages for searching file contents" which brings up a dialog window indicating that fewer languages will speed indexing for full-text search. But I wasn't satisfied with that.

I ran a search in my home directory, chug ... chug ... chug ... chug ... not especially impressive. But the second search was speedier. Maybe not as quick as Google -- the metric Tim had mentioned in his email -- but it was satisfying and returned more than Google's standard of the first ten hits.

I conclude that Finder indexes only after the first search which makes for a sour first impression. I wouldn't have tried a second time if I hadn't just told Tim Bray (of all people) about search (of all things).

Back to today's crashes. I haven't isolated the cause, but the second crash in particular makes me suspicious. While I was retyping this comment, I thought I would test the search again just to double-check myself before spouting off publicly. I was somewhat surprised that the first search was very sluggish. Maybe I lost the index in the first crash. I canceled the search but heard the disk drive still ticking away. 'top' revealed a conspicuously named process: "ContentInd". Activity Monitor confirmed my suspicion -- its full name is ContentIndexer. This confirms the lazy indexing theory. But as I switched triumphantly back to Safari the UI froze again. I'm not quite ready to blame ContentIndexer alone for my freezes today, but I am going to get this comment posted before I test it again. :-)

eric commented

17 June 2004 at 20:15

Who knew I was going to be this interested?

The first thing I can say is that ContentIndexing is not solely responsible for my freezes. With just Finder and Activity Monitor running plus some hidden constellation of background processes I didn't run into any more freezes. In fact, it seemed sufficiently stable that I even fired up Emacs to continue writing.

This is the first time I've spent much time with Activity Monitor. It's kinda cool in that mind-numbing-screen-saver kind of way. In the main window I've displayed the Disk Activity tab. In the foreground I opened the Info about ContentIndexing and specifically the Open Files tab. Make a mental note of that. Pretty handy to see what files are getting tickled by a long running process. Watching some of the files flash by has been a little surreal. "I forgot about _that_ thing." My Downloads folder is full of PDFs that I started but didn't finish reading, or that I wanted to save for later.

Running a few subsequent searches returns mixed results. Definately below the mark Google sets for search. That's a long time to spend to discover that OS X's full-text search isn't as cool as I was expecting. You just can't trust those dusty memories of conversations with Apple reps, I guess.

Dylan Gordon commented

07 July 2004 at 11:52

Hi,

Just a note on the crashing; I took my new iBook to Europe with some archives I needed to frequently search. Hard crashes all the time when using the search option in Finder.

So, just backing up the bug report, it's definitely related to searching, but like eric I haven't yet been able to figure out the exact correlation.