summaryrefslogtreecommitdiff
path: root/README
blob: 7f6886a477d09639a25346c49d8684646ca610c2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
INTRODUCTION

Tracker is a powerful metadata database and indexer framework that provides the ability to index, store, retrieve and search all types of file metadata including user defined ones. Tracker is super efficient with your systems memory when compared with some other competing frameworks, which offer less functionality too.


NEW FEATURES

* Redesigned DBus Api to be more generic

* Corrected search results of hyphenated search terms

* Added support for limiting no. of hits for searches

* Added optional support for sorting search results by relevance score

* A few minor bug fixes (Updating file name metadata correctly during move, correcting use of hyphenated search terms)


Tracker's features include:

* Very memory efficient and non-leaking (typical RAM usage 4 - 6 MB). Unlike some other indexers, tracker is designed and built to run well on lower memory systems with typically 128MB or 256MB memory. It should even be efficient enough to use on some mobile devices.

* Non-bloated and written in C for maximum efficiency.

* Fast indexing and unobtrusive - no need to index stuff overnight. Tracker runs at nice+10 so it should have a minimal impact on your system. 

* Integrated as a Nautilus search backend and as a Deskbar applet backend.

* Implements the freedesktop specification for metadata http://freedesktop.org/wiki/Standards_2fshared_2dfilemetadata_2dspec

* Extracts embedded File, Image, Document and Audio type metadata from files.

* Extracts embedded metadata from HTML, PDF, PS, OLE2 (DOC, XLS, PPT), OpenOffice (sxw), StarOffice (sdw), DVI, MAN, MP3 (ID3v1 and ID3v2), OGG, WAV, EXIV2, JPEG, GIF, PNG, TIFF, DEB, RPM, TAR(.GZ), ZIP, ELF, REAL, RIFF (AVI), MPEG, QT and ASF files

* Supports the WC3's RDF Query syntax for querying metadata

* Provides support for both free text search (like Beagle/Google) as well as structured searches using RDF Query

* Respond in real time to file system changes to keep its metadata database up to date and in synch

* Fully extendable with custom metadata - you can store, retrieve, register and search via RDF Query all your own custom metadata

* Can extract a file's contents as plain text and index them

* Provides text filters for PDF, MS Office, OpenOffice (all versions), HTML and PS files.

* Can provide thumbnailing on the fly



INSTALLATION (from source):

You will need to make sure you have the following dependencies installed : 

libmysqld.a (version 4.1 or higher but not version 5) - this is the embedded mysql server library. This can be found in Debian/Ubuntu package libmysqlclient14-dev. RPMs (look for embedded server) can be found at : http://dev.mysql.com/downloads/mysql/4.1.html (NB tracker does not work with the client/server versions of mysql so you must have the correct *embedded server* package installed). You do not have to setup anything as the embedded library is ued in-process and therefore needs no user accounts or authentication and will work straight out of the box.

libdbus (0.50 +)

dbus-glib bndings (0.50 +)

glib (2.6+)

zlib

libvorbisfile3 (1.1+) 

Recommended packages:

libextractor (0.5.9+) (tracker has a streamlined version inlined)
wv (1.0.2+)
poppler (pdftotext)



COMPILATION

To compile Tracker uses the following commands :

./configure --prefix=/usr
make
sudo make install

If you install using any other prefix then you might have problems with files not being installed correctly.

(You may need to copy and amend the dbus service file to the correct directory and/or might need to update ldconf if you install into non standard directories.)


Compile Options

Tracker has several compiler options to enable/disable certain features. The following is available (all options should be passed as command line parameters to autogen.sh EG ./autogen.sh --disable-fam)

--disable-fam : this option omits support of FAM/GAMIN with tracker

--disable-inotify : this option omits support for inotify with tracker

--enable-libextractor  : this option forces the use of the prepackaged streamlined version of libextractor in tracker



RUNNING TRACKER


To run tracker, you need to manually start the tracker daemon trackerd. By default trackerd will index your entire home directory.

You can also pass a directory root to be indexed as a command line parameter if you dont want your entire home directory indexed. EG

"trackerd /home/jamie/Documents"

You can make sure that tracker only indexes a subset of your home directory and also specify folders not in your home directory by editing the tracker.cfg file in ~/.Tracker (which is created when you first run trackerd) and setting WatchDirectoryRoots to a semicolon delimited list of directories (full path required!) 

EG: 

WatchDirectoryRoots=directory1;directory2;directory3

On the first run, Tracker will automatically create a new database and start populating it with metadata by browsing through the user's home directory (or the root folder(s) specified).

On subsequent runs, Tracker will start up much much faster and will only ever incrementally index files (IE files that have changed since last index).

If installed correctly, the tracker daemon (trackerd) can also be started automatically via Dbus activation.


Tracker And Nautilus Search

Once you have installed Tracker and have some indexed contents, you should now compile Nautilus (ver 2.13.4 or higher) which should auto detect that tracker is installed and automatically compile in tracker support. You are now ready to appreciate a powerful and super efficient c based indexer in all its glory... happy hunting!

To make sure trackerd always start when you login to Gnome, you will need to add it to Gnome-session (select sessions from preferences menu, select startup program tab and then add /usr/bin/trackerd). For non-gnome installations, see the desktop docs for how to auto start an application for your particular desktop.

Tracker and Deskbar applet

Tracker is also integrated in gnome's deskbar applet. Please see that applet for more info.



COMMAND LINE TOOLS

Tracker comes with a number of command line apps that you can use:

"tracker-extract FILE" - this extracts embedded metadata from FILE and prints to stdout

"tracker-search SEARCHTERM" - this perfoms a google like search using SEARCHTERM to retrieve all matching files where SEARCHTERM appears in any searchable metadata

"tracker-query" - this reads from STDIN an RDF Query that specifies the search criteria for various fields. It prints to STDOUT all matching files. You can see some example queries in the RDF-Query-examples folder. You can run the examples as "tracker-query < RDFFILE"