1. A computer-implemented method for dynamically ranking entries in a personal data book for a user, comprising: receiving at a server, a user search request and associated metadata from a client device; determining at the server a current location of the client device from the metadata; searching at the server, the personal data book to obtain one or more entries that are responsive to the user search request, each entry associated with a frequency of use and an age of a last use; and ranking at the server, each of the one or more responsive entries in the personal data book based at least in part on the current location of the client device, the frequency of use for each responsive entry, and the age of a last use of each responsive entry to produce an ordered rank of the plurality of responsive entries.