28. A system, comprising: one or more computers programmed to perform operations comprising: identifying a plurality of structured documents and distinct metadata for each structured document, the structured documents having a same structured data format, wherein the structured documents are received from one or more data sources and the distinct metadata for each structured document is received from one or more data sources different from the one or more data sources from which the structured document was received; wherein the same structured data format is a format for geographic data, wherein the plurality of structured documents contain location names, descriptive text, and geographic references; parsing each structured document in the plurality of structured documents and extracting a plurality of data sets from each structured document; merging the distinct metadata from the one or more data sources, including removing duplicate distinct metadata; associating the distinct metadata for each structured document with each data set extracted from the structured document; adding a plurality of record items to a searchable database, wherein a structure of the record items corresponds to the same structured data format of the structured documents, wherein each record item corresponds to one of the extracted data sets, and wherein each record item is associated with the distinct metadata associated with the corresponding data set; receiving a search query; using the distinct metadata associated with each of one or more of the record items to identify at least one record item in the searchable database; and returning the identified at least one record item in response to the search query.
30. The system of claim 28 , further programmed to perform operations comprising: crawling the web to identify the structured documents and generate an output file including a plurality of records, each record including data from one of the structured documents; wherein parsing the structured documents and extracting the plurality of data sets comprises parsing the records in the output file and extracting the plurality of data sets from each record.