The e-commerce Web site that I work on has seen several incarnations of its
search feature. We started with plain vanilla SQL using "like" clauses, but
this didn't perform well and left a lot to be desired in language features
such as stemming (e.g., "paint" = "painter" = "painting") and synonym
matching (e.g., "cat" = "feline"). Next we tried an off-the-shelf solution.
This addressed our efficiency and language demands, but it was ridden with
strange quirks and we were limited in how much we could customize its
behavior.
Then we discovered Lucene. Lucene is an open-source search framework from
Apache's Jakarta project. As a framework, Lucene provides you with the
building blocks you need to build a search engine that meets your specific
searching requirements. Lucene is flexible, fully customizable, and amazingly
fast.
In this article I show you how to use Lucene... (more)