1. A method, comprising: identifying a first plurality of text strings of a first data source of a first web server; combining the text strings of the first plurality into a first entity comprising first attributes each of which corresponds to a respective one of the text strings of the first plurality; identifying a second plurality of text strings of a second data source of a second web server that is different than the first web server; combining the text strings of the second plurality into a second entity that is different than the first entity, the second entity comprising second attributes each of which corresponds to a respective one of the text strings of the second plurality; generating a database that includes the first and second entities; responsive to receiving a query comprising a combination of attribute selections, performing a search using the generated database that includes the first and second entities to select a subset of the first and second entities that corresponds to the combination of attribute selections; and causing the entity of the selected subset to be presented on a user terminal from which the query originated.