It's fast and reliable, but Recoll isn't without a few shortcomings
With the might of the Xapian search engine at its command, the lightweight Recoll might just be the tool for you, if you can get it up and running.
Almost no distro carries Recoll in its software repositories, and the tool's dependency list might put off a few users. To begin, you need xapian-core, plus Qmake and Qt. Fortunately, these are readily available from the software repositories. This would translate to a 10-place penalty on the starting grid were it not for the packaged binaries for Ubuntu, Fedora, Mandriva and other distros.
Recoll starts indexing as soon as you click File > Update. It stores the index in the /.recoll/xapiandb/ directory. By default, it'll begin indexing from your home directory, including any mounted partitions or SMB shares.
Distros that use gvfs, the replacement tool for Gnome Virtual File System, mount shares under the /.gvfs/ directory, so when indexing begins at the user's home directory, it also engulfs the mounted shares. You can configure Recoll to avoid certain paths and directories in the Prefs window.
Along with the search bar at the top of the interface, you can use the All Terms drop‑down list to select one of Any Term, All Terms, File Name and Query Language. You can then limit your search to text files, or any other MIME type, by clicking the relevant radio button from under the search bar. For example, when you're looking for emails, select Messages. You can use the *, ? and square bracket wildcards when searching for files in the index.
This, along with the auto-complete feature (accessed by pressing Esc+Space) gives Recoll a slight edge over the other tools. For example, typing "pyt" and pressing Esc+Space displays a list of possible terms such as Python, pytype etc.
Depending on your search term, and how many results turn up, you might have to browse through several pages to find what you're looking for – simply click the Next Page link at the top-right of the results panel.
When displaying the results, Recoll prints a small excerpt with each, but this might not be enough to decide if the result is what you're looking for. Helpfully, you can click the Preview link next to the entries in the results list to read the contents of the file in Recoll's internal document viewer.
To help you refine your search, Recoll enables you to define keywords and then filter them by All Of These, None Of These, Any Of These and other such clauses from the Advanced Search dialog. You can also limit your search to specific MIME types, such as PDF or spreadsheets.
Finally, if you know the general location of the file, you can contain the search to defined subtrees. While most other tools keep a constant eye on your disk and keep the index abreast of any changes, Recoll by default only creates a static index. This means you must manually update the index by clicking File > Update if you wish to find up-to-date search results.
You can, however, use Cron to configure periodic indexing. This is both a curse and an advantage: system resources aren't constantly manhandled in an attempt to keep the index up to date, but it requires users to take an extra step compared with the other tools.
But there's a ray of hope, at least for those who want to compile Recoll themselves. File Alteration Monitor (Fam) and Inotify are two tools that monitor the filesystem for any changes. When compiling Recoll, you can enable support for either of these with the --with-fam or --with-inotify options.
Recoll isn't built to index all file types. To index PDF, MP3, RTF, MS Office and a few other exotic formats properly, you need to install additional packages, such as Antiword (for MS Word), and Catdoc (for MS Excel and PowerPoint). Without these tools, only filenames will be indexed and Recoll won't offer an abstract or the Preview function.
Price: Free under GPL
Faces tough competition from Beagle. The option to create static indexes is a real advantage.