Tracker is a search tool that is available in many GNU/Linux distributions.
You can learn more about tracker here: http://www.gnome.org/projects/tracker/
The tracker integration into emacs can be found here: http://zanfishen.com/stories/emacs-tracker.html
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
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.