1. A method comprising: comparing, by a first server, a search query against a first collection of data storing an instance of co-occurrence of an entity in a second collection of data, wherein the search query is received from a client; identifying, by the first server, a type of entity corresponding to the entity based on the comparing; extracting, by the first server, the entity from the search query based on the identifying; selecting, by a second server, a fuzzy matching technique corresponding to the type of the entity, wherein at least one of the first server or the second server comprises a main memory hosting a database storing the first collection of data, wherein the database stores at least one of an entity-to-entity index, an entity-to-topic index, or an entity-to-fact index; searching, by the second server, the first collection of data via the fuzzy matching technique; identifying, by the second server, data associated with the search query based on the searching; generating, by the second server, a plurality of suggested search queries from the data based on the identifying; outputting, by the second server, the suggested search queries to the client such that the suggested search queries are sorted based on match proximity to the search query.