Unity makes use of Zeitgeist in its dash where it provides the user with easy access to its most and recently used data (files/folders/applications) as well as searching over the Zeitgeist FTS (Full Text Search) extension.
There is more development going on to bring the same features to a contacts dash where the user can browse his contacts by most/recently used.

From the Zeitgeist website:
This page also explains the activity journal (you need to install this yourself) where you can find the answer to how results ranked/ordered and more.
So it uses metadata.
The 2nd part of your question is answered from another page from that site:
Which technologies does Zeitgeist use?
- Python
- DBus
- SQLite.