1. A method for providing query suggestions for a user comprising: using a computer processor and storage, receiving a query log comprising a number of user sessions on an e-commerce site, the sessions including a plurality of sets of queries that have been executed by users of the e-commerce site during the user sessions, some of the sets of queries including query transitions, followed by a purchase related event; cleaning and normalizing the query log; generating from the cleaned and normalized query log stationary scores and transition scores of at least some of the plurality of sets, the transition scores comprising ordered query pairs; building a set of query suggestions from the ordered query pairs; computing similarity scores of at least some of the set of query suggestions to determine whether individual ones of the at least some of the set of query suggestions meet a predetermined assurance level; including as elements of the set query suggestions that meet the predetermined assurance level; and mixing and ranking the set of query suggestions in accordance with a user behavior that is to be optimized, the ranking comprising using a first weighting with a popularity score and a second weighting with a purchase efficiency score.