1. A method comprising: receiving a speech; recognizing the speech using a phonotactic grammar to generate a phone lattice; removing silence and filler words from the phone lattice, to yield a revised phone lattice; normalizing, via a processor, costs in the revised phone lattice such that a cost of a best path is set to zero; generating a cost-normalized query using factors of interest, wherein an index of words is indexed by the factors of interest; generating, via the processor and by performing a first pass of entries in a database, a shortlist of recognized speech possibilities using the revised phone lattice, the index of words, and indices contained in the cost-normalized query; performing a second pass on the shortlist of recognized speech possibilities using a grammar generated from the entries in the database to obtain a final result; and providing a response to the speech based on the final result.