Patent ID: 8359300

Claim:
A computer implemented method of presenting search results, comprising: on a server system having one or more processors and memory storing one or more programs executed by the one or more processors: receiving respective search queries from a plurality of respective clients; for each received respective search query that does not include any term that identifies a geographic location, performing a set of operations comprising: searching a primary database to generate a primary set of search results that match the search query; determining whether a geographic location is associated with a client or a user of the client; in accordance with a determination that a geographic location is associated with the client or the user of the client, retrieving location information from a user profile of the user, and comparing the search query against a first whitelist, but not a second whitelist, wherein the first whitelist includes a set of predefined terms associated with a secondary database, and conditionally, in accordance with a result of the comparison, searching the secondary database to generate a secondary set of search results that match the search query, the secondary search results corresponding to one or more physical locations associated with the respective geographic location associated with the client or the user of the client, the secondary search results including additional information about the one or more physical locations; in accordance with a determination that a geographic location is not associated with the client or the user of the client, comparing the search query against the second whitelist, but not the first whitelist, wherein the second whitelist includes a set of predefined terms associated with the secondary database, and wherein the first whitelist includes a plurality of terms not included in the second whitelist, and conditionally, in accordance with a result of the comparison, requesting and receiving a geographic location from the user of the client; and searching the secondary database to generate a secondary set of search results that match the search query and that correspond to one or more physical locations associated with the received geographic location, the secondary search results including additional information about the one or more physical locations; and sending at least a subset of the primary set of search results and at least a subset of the secondary set of search results, if any, to the client.