1. A computer-implemented method for generating a query by modifying a query template, the method comprising: identifying, by operation of one or more computer processors, one or more words in a natural language query that have previously-established associations with stored data upon which the query will be executed, wherein identifying the one or more words in the natural language query further comprises: receiving, by operation of one or more computer processors, the natural language query, the natural language query being formatted to a query template, wherein the query template includes at least one first component and at least one second component, the first component including a predefined action, the second component being modifiable based, at least in part, on the one or more words; determining, by operation of one or more computer processors, at least one link between the one or more words in the natural language query and the at least one second component; modifying, by operation of one or more computer processors, the at least one second component of the query template based, at least in part, on the at least one link, wherein modifying the at least one second component includes adding to the query template a rule that limits possible values for the at least one second component and a name of a database table that includes the stored data upon which the query will be executed; generating a new query by adding one or more values to the query template, wherein the one or more values are added to the query template based, at least in part, on the modification of the at least one second component of the query template and the one or more words in the natural language query; and executing a search based on the new query.