Tracker is a desktop search utility like Recoll. However, it is far lightweight and provides a number of cmdline utilities to work more closely with the search index or follow the indexing status.

Tracker uses the Linux kernel’s inotify filesystem monitoring feature and can update its records in real time as the kernel notifies when there is a change in the monitored directories.

Tracker works in a per-user basis and two miners (Applications & File System) start by default when the user logs in to the desktop. Users can specify the directories to monitor. Tracker indexing is quite fast and continues in the background. The monitor keeps listening for filesystem events.

Note that Tracker does not index common words like hello, if, but, two etc. during indexing. Also, unlike Recoll, Tracker search GUI doesn’t support search-as-you-type (i.e. real time drop down search suggestions as you type).

Features

Works with multiple desktop environments and desktop technology standards like DBUS, SPARQL, Nepomuk, shared configuration specification, autostart specification, XDG base directory specification etc.

Full text search and file tagging

File notification for real time updates

Thread safe and supports UTF-8

Tons of document, video, audio, image, email formats supported (including MS Office, PDF, mp3, flac, jpeg, png, bookmarks, feeds…) Tracks applications as well.

During our tests, we copied /etc/fstab to a monitored directory and Tracker updated its database within a few seconds, even under heavy system load.

Installation

To install Tracker on Ubuntu, run:

$ sudo apt-get install tracker

The following utilities are installed:

tracker-control: manage Tracker processes and data tracker-import: imports Turtle file data into the database tracker-info: retrieve all information available for a certain file tracker-needle: GUI interface to search files similar to tracker-search tracker-preferences: GUI interface to tracker-miner-fs preferences tracker-search: search all content for keywords tracker-sparql: use SparQL to query the Tracker databases tracker-stats: provides statistics on the data available for querying tracker-tag: add, remove and list tags

Usage

Each utility listed above has its detailed man page and -h switch for help on usage. Tracker has tons of features and we will explore the common ones.

1. Tracker doesn’t start immediately immediately after installation as it runs miners on a per-user basis. You can, however, force start it as a regular user:

$ tracker-control -s

2. To check the status changes in real time, run:

$ tracker-control -F

3. To set your preferences from a GUI, run:

$ tracker-preferences

4. Search files from GUI (start-menu icon available):

$ tracker-needle // directly pass keywords from cmdline: $ tracker-needle keywords

5. Search from cmdline (you can specify file types, -t for docs for example):

$ tracker-search important keywords Results: file:///home/neo/Downloads/volume_I.pdf ...science obviously are very important, the most important...couple keywords that you can write in each cell...

6. Add a tag to a file:

$ tracker-tag -a TAG filename

7. Search files by tag:

$ tracker-tag -t -s TAG

8. Show information of a certain file:

$ tracker-info filename

9. Gracefully terminate all miners:

$ tracker-control -t

10. Terminate all Tracker processes and reset database:

$ tracker-control -r

Webpage: Tracker