1. A computer-implemented method for parsing a search query, comprising: receiving a character string: identifying, by at least one processor, a sequence of character substrings in the character string; retrieving, from a storage device, a search query template including a sequence of categories; determining, by the at least one processor, that a character substring in the sequence of character substrings corresponds to a category in the sequence of categories; and associating the category with the character substring.