1. A computer-implemented method comprising: receiving, by a computer, from a search engine a search query comprising one or more strings of data, wherein each respective entity corresponds to a subset of the one or more strings; identifying, by the computer, one or more entities in the one or more strings of data based on comparing the one or more entities against an entity database and a trends database; identifying, by the computer, one or more features in the one or more strings of data not identified as corresponding to at least one entity; assigning, by the computer, each of the one or more features to at least one of the one or more entities based on a matching algorithm; assigning, by the computer, an extraction score to each respective entity based on a score assigned to each respective feature assigned to the respective entity; receiving, by the computer, from an entity database a first search list containing one or more entities having a score within a threshold distance from the extraction score of each respective entity; receiving, by the computer, from a trends database a second search list containing one or more entities having a score within a threshold distance from the extraction score of each respective entity; generating, by the computer, an aggregated list comprising the first search list and the second search list, wherein the entities of the aggregated list are ranked according to the score of each respective aggregated list; and providing, by the computer, a suggested search according to the aggregated list.