1. A method comprising: receiving, by a processing device, a search query from a remote device, the search query including one or more query terms; generating, by the processing device, a collection of one or more analyzed tokens based on the search query, the collection of the one or more analyzed tokens being indicative of at least a subset of the one or more query terms; inputting, by the processing device, the collection of one or more analyzed tokens into a plurality of different parsers, each parser parsing the collection of one or more analyzed tokens and/or the search query according to a parsing operation specific to the parser and outputting a parsed query that includes a list of one or more parsed tokens, each parsed token including a string and wherein at least one parsed token of at least one of the parsed queries includes one or more properties of the string; generating, by the processing device, a retrieval query based on the parsed queries output by the plurality of different parsers, wherein the retrieval query is a data structure indicative of the parsed queries; generating, by the processing device, search results based on the retrieval query; and providing, by the processing device, the search results to the remote device.