1. A computer-implemented method for keyword searching, the method comprising: generating, by a server, tokens for a plurality of keywords in a document collection, wherein the generating further comprises determining a keyword position of a keyword in a document of the document collection, and determining a number of noisy keywords preceding the keyword in the document; merging the tokens to create an index; receiving a search query, wherein the search query includes at least one search phrase; receiving, for the at least one search phrase, an indication from a user specifying to perform one of a noisy phrase search or a noiseless phrase search; searching the index for the at least one search phrase based on the indication received from the user; and when the indication from the user specifies a noiseless phrase search, performing the noiseless phrase search at least in part by subtracting a value of the keyword position by the number of noisy keywords preceding the keyword.