1. A method of searching in a second dataset using a query from a first dataset, the method comprising: receiving a first query using the first dataset, the first query being generated using a first collation associated with the first dataset; rewriting the first query to form a second query, the second query comprising a second collation and a residue predicate, the second collation encompassing the first collation and the residue predicate comprising a portion of the first query; optimizing the second query by choosing an index plan that targets an index associated with multiple human languages; executing the second query to search the first dataset; and returning information satisfying the first query; wherein a dataset comprises one of a database, a user session and an explicit user query.