7. A computer-implemented method, comprising: receiving at least a first search token and a second search token; for the first search token, initializing a priority queue by storing a root node in a priority queue; exploring paths of an inverted token next valid character tree from a root node to children nodes of the root node; removing the root node from the priority queue after paths to the children nodes are explored; storing the children nodes and associated edit distances to the first search term in the priority queue, wherein the children nodes are stored in the priority queue in an order of smallest edit distance to largest edit distance; exploring paths of the inverted token next valid character tree from the child node having the smallest edit distance to the first search term; if the path from the child node ends at a leaf node, adding a first document set of document identifiers stored at the leaf node to the priority queue; for the second search token, storing the children nodes of the root node and associated edit distances to the second search term in the priority queue associated with the first document set; exploring paths of the inverted token next valid character tree from the child node having the smallest edit distance to the second search term; if the path from the child node ends at a leaf node, adding a second document set of document identifiers stored at the leaf node to the priority queue; comparing the first document set to the second document set; if a document identifier is common to both the first and second document sets, adding the document identifier to a result set; and providing the result set.
7. A computer-implemented method, comprising: receiving at least a first search token and a second search token; for the first search token, initializing a priority queue by storing a root node in a priority queue; exploring paths of an inverted token next valid character tree from a root node to children nodes of the root node; removing the root node from the priority queue after paths to the children nodes are explored; storing the children nodes and associated edit distances to the first search term in the priority queue, wherein the children nodes are stored in the priority queue in an order of smallest edit distance to largest edit distance; exploring paths of the inverted token next valid character tree from the child node having the smallest edit distance to the first search term; if the path from the child node ends at a leaf node, adding a first document set of document identifiers stored at the leaf node to the priority queue; for the second search token, storing the children nodes of the root node and associated edit distances to the second search term in the priority queue associated with the first document set; exploring paths of the inverted token next valid character tree from the child node having the smallest edit distance to the second search term; if the path from the child node ends at a leaf node, adding a second document set of document identifiers stored at the leaf node to the priority queue; comparing the first document set to the second document set; if a document identifier is common to both the first and second document sets, adding the document identifier to a result set; and providing the result set. 13. The method of claim 7 , further comprising if a document identifier is not common to both the first and second document sets, updating the priority queue to remove an entry containing the first document set and the second document set.