Tracker: desktop search for Linux

tracker_comp

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

4 thoughts on “Tracker: desktop search for Linux”

Comment

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s