6. A memory device having instructions stored thereon that, in response to execution by a processing device, cause the processing device to perform operations 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.
6. A memory device having instructions stored thereon that, in response to execution by a processing device, cause the processing device to perform operations 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. 7. The memory device of claim 6 , wherein at least one of the first attributes is different than at least one of the second attributes.