There is something similar in "Elib Bremen" (
http://suche3.suub.uni-bremen.de/indexEN.html). If you search eg. "information retrieval" you have database recommendations in the right column.
They have assigned their databases to subjects in their local classification system ("Bremer Systematik"). Then they calculate best matching classes in that classification system for user entered search terms based on classification of the matching metadata records. For "information retrieval" that's "Informatik" (Computer science) and "Buch- und Bibliothekswesen" (book and library science). Then they print the databases assigned to those classes in that box on the right.
They offer that "query classification service" as a web service where you may send query terms and get the classification codes back. Another next gen catalog project here in Germany uses that service:
http://beluga.sub.uni-hamburg.de/list?searchtext=krise&submit=Suchen (the database recommendations are in the grey box in the result list). Though, the results you get from that service are based on the local holdings at Bremen, so they may not fit other library collections.
Something like that shouldn't be too hard in Solr, I think. If someone is interested in the details of this feature (eg. the exact maths behind it), feel free to contact me, I may refer you to the guys at Bremen.
This is currently implemented as part of the Web module only, which is accessed on our system through a search in "Library Website" rather than "Catalog." We have simply created a "Web/bestbets.tpl" template which is pulled in at the top of Web/home.tpl and which displays an extra box of content based on certain hard-coded search terms.
Here's an example of this in action -- a search for hours shows an extra box with our library hours:
https://library.villanova.edu/Find/Web/Search?lookfor=hours&type=&search=website&submit=Find
To be useful as part of the trunk, it would be better to have a generic way of defining and managing search terms and displayed content so that users don't have to manually edit if statements in a template file to make this work.