1. A method, implemented on at least one machine each of which has at least one processor, storage, and a communication platform connected to a network for providing query suggestions, the method comprising the steps of: receiving, in a user session, an input including a prefix of a first query from a user; obtaining at least a second query that was previously received from the user in the user session; obtaining a third query based on the second query and the prefix of the first query; and providing one or more query suggestions to the user as a response to the input, wherein the one or more query suggestions include the third query.