1. Features
Tracker trawls through your data and organises it so that it can be retrieved extremely quickly later on via simple searches. This organisation puts your data into categories so that application like photo managers and music players can instantly find relevant content automatically. Tracker enables you to tag your data with keywords which can be used to find related information or to group and categorise your data further. Tracker lets you extend your data with additional metadata.
1.1. Standards
Tracker complies with many cross desktop and technology standards, including:
D-Bus is used for inter-process communication (IPC).
The Nepomuk ontologies are followed as closely as possible.
The thumbnailer specification we started is used for creating and managing thumbnails for images and media art.
The base directory specification details how desktops should locate files at run-time.
The shared configuration specification outlines where configurations for applications should be kept (desktop-neutral).
The shared file meta-data specification outlines a common meta-data naming scheme that should be used by all technologies similar to Tracker. We try to follow this as closely as possible.
The auto-start specification describes how Tracker's processes should be initiated on the desktop's start up.
The XDG base directory specification used to know were a user's documents, music, video, desktop, etc. folders exist on their machine.
1.2. Technologies
Full Text Search (FTS). Below are the FTS features which are available in Tracker (please note that FTS can be disabled as part of the build):
Unaccenting is used to strip characters of their accents (and all combining diacritical marks in general) to allow comparisons between examples like "Idea" and "Idéa" to be as fast as possible.
Unicode Normalization is used to match words in either NFC, NFD, NFKD or NFKC normalizations. For example, looking for "école" (NFC normalized, 0xc3 0xa9 0x63 0x6f 0x6c 0x65) will find files with the word "école" (NFD normalized, 0x65 0xcc 0x81 0x63 0x6f 0x6c 0x65).
Case folding is used to perform case-insensitive searches, to match for example "TITLE" with "title" or "Straße" with "Strasse".
Stemming (disabled by default) is used to find more relevant results. For example a search for "motorbikes" (plural) will also return results relevant to "motorbike" (singular). This operates on a multi-lingual basis. Stemming is currently experiemental and we're looking to improve this.
File notification for real time updates.
Extensive list of supported file types / formats.
1.3. Accessible
Tracker supports a number of features which makes it more appealing, including:
- Thread safety
- Internationalization
- Localization
- UTF8 support
- Documentation
1.4. Ontologies
Ontologies describe how data is related to each other. We use this method to store data intelligently. These are some of the ontologies we support:
XML Schema Document (xsd)
- Resource Description Framework (rdf)
- Dublin Core meta-data (dc)
Nepomuk Contact Ontology (nco)
Nepomuk File Ontology (nfo)
Nepomuk Message Ontology (nmo)
Nepomuk CALendar (ncal)
- Simplified Calendar Ontology (scal)
Nepomuk ID3 (nid3)
Nepomuk MultiMedia (nmm)
- Maemo Transfer Ontology (mto)
- Maemo Location Ontology (mlo)
- Maemo Feeds Ontology (mfo)
- Multimedia Transfer Protocol (mtp)
- Tracker specific annotations (tracker)
- Maemo specific annotations (maemo)