Lucene is a powerful API. I try to use it these days.
Since the relative introduction can be found in many place, i just want share some my feelings.
If you just want to get general idea of it, you can visit:
http://www.chedong.com/tech/lucene.html For chinese version introduction
http://lucene.apache.org For Download and get Docs
The Key of lucene it a Index file. When you collect a String using Lucene API, it will help you to store all information in one File, with extension .cfs, often will two aid files. You neddn't care about how it works, just use the field type Keyword, Unindexed, Unstored, Text for the information you get. No matter the information type. You only get the infor as a String type and pass it to Lucene API, the collect process it over.
The search process is similar. Lucene provides a type called Query help you to pass the query want to search. The Query have many sub types, TermQuery(Used for one word), Boolean Query(used for multi-query), PrefixField(very useful in search based on category), etc.
Lucene can be devaloped. You can inherit its Analayser , which is used to analyze the language. Generally, A StandardAnalyzer is enough for us, but still with some problem remained, for instance in parsing Chinese words. Filter also can be developed.
Another useful feature is Lucene provide a method to help you to get the summary of the content you have got and bold the key words.
Anyway,Lucene is useful for no-scientist developers. Our team is building a in-site search component based on Lucene. Waiting our good news.