From Jakarta Lucene website:
"Jakarta Lucene is a high-performance, full-featured text search engine library written entirely in Java. It is a technology suitable for nearly any application that requires full-text search, especially cross-platform."
Nowadays, there is no doubt about search importance for web systems. To be able for find and discover information in a short time is one of the most required functionality presently. Also, there is no doubt that Lucene is a great Java API for realize searches. It is capable of index and search a wide variety of documents like Microsoft Word, Adobe PDF, XML, HTML and, if you are not satisfied, you can implement your own indexer to deals with other resources.
So, when you are working with objects, each of them may have a different manner to be indexed and, if you have so much domain classes, create methods to index each class will be so pain. Thinking in this situation, Vicinity, a company that develop content management systems and eletronic management systems, mades a simple API to index any object type in a (almost) painless manner. It work using reflection to create processors for objects and AOP to transparently translate such objects in Lucene Documents and write them.