The idea of Beehive is a little bit similar to Google Ads. These are displayed on a web page and present links to registered web sites. The advertisments are taken from a database and are selected based on the content of the current web page.
Similarly, Beehive presents the programmer in Eclipse a list of recommendations for documents, e-mails or other resources that he might have a look to, based on his current context.
E.g., while he is implementing a Quick Sort algorithm, he might be presented a Wikipedia article about Quick Sort, or a Java API documentation page, etc. These list items are called "recommendations"
Here's an example how this can look like:
Beehive basically consists of three components:
A server ("irsystem"), which is backed by a MySQL database. The database contains metadata for the set of indexed documents and other resources. The server is responsible to build a information retrieval model on the data and to answer queries for recommendations.
A collection mechanism, which is fully configurable and can be extended by own implementations for new kinds of resources. It gets files from the local file system, html pages from the web, e-mail from a POP3 account, or whatever you would like.
A client implemented as plug-in for Eclipse, which extracts the user's context, contacts the server and displays the results.