Towards context-aware search by learning a very large variable length hidden markov model from search logs