Tracker is a search tool that is available in many GNU/Linux distributions.

You can learn more about tracker here:

The tracker integration into emacs can be found here:

Anything can use tracker as a source, too. --TassiloHorn

And what about the “tagging” feature of tracker? Has anyone implemented adding/removing tags to/from a file and searching by tag? If not, any hints on how to do it? (I don’t speak LISP, so I’m afraid I’ll have to wait for someone to implement it anyway…) --mbork

Yes, see Bookmark Tags. You can bookmark files and other kinds of Emacs objects, and you can associate any number of tags with any number of bookmarks. List objects by tag and tag combinations, sort them, search them,… – DrewAdams

The file Lisp:tracker-dired.el provides access to Tracker from within Emacs, via dbus. It is analogous to (and based on) find-dired.el. I use it by adding

  • (require ‘tracker-dired)
  • (global-set-key (kbd “C-c s”) ‘tracker-dired)

to my .emacs file.

To answer the question about searching by tags above: The code in Lisp:tracker-dired.el builds a sparql query around the search terms to perform a fulltext search. I guess you can trivially change the sparql query (even if sparql syntax is not especially trivial :-) to perform the search on tags.

Past, some of the above links seems to be regularly outdated (page is missing or host is down). So I upload it on this Wiki. You could get it here : Lisp:tracker-dired.el .

Thanks to MaartenGrachten for his help. - CyrilB