Your research already exceeds my
knowlege level of the subject, but I'd like to offer some feedback on your goal itself, if I have understood it correctly. It seems to me that having the result of a search depend on not just current but past
search criteria is a mistake. Not only should I be able to duplicate a search and get the same results, but I should be able to tell others what I searched for and have them get the same results.
Perhaps you could show a simple example of a pattern of search/result that demonstrates what kind of learning you are trying for?
Update: Sorry, makes sense now; don't know how I got the idea that you were talking about per-user or per-session learning.