I have a large index that searches about a bazillion documents. Usually (but not always), when a user is searching for a page, they are looking for something in one of the departments with which they have an affiliation. Additionally, if they've opened the document before, there is a good chance they're looking for that document again. Therefore, I would like to weight such results higher. The trick here is that the additional weights are different for different users.
It's not even just a re-ordering of the returned 100-or-so top results. There may be 10,000 documents containing the word "networking", but the correct result may not even be in the first 100 results returned by lucene.
My idea was that if there were some way to indicate that a keyword is beneficial if it is contained in the document, but is not a required keyword, I could just append that to the user's query before passing it to lucene.
Does this make sense? Does such a query syntax for "boost words" exist?