sandeep lokhande wrote:I Used to depend upon My DB for searching Data and Querying for it.
What are the advantages in Lucene other than my relational DB.
Briefly:
I used Lucene a few years back to power one of our Document Management Systems.
Though all document details, such as meta data, etc are stored in the DB we used Lucene for search.
Reason:
Users mostly need to search from within the documents and opening a document and parsing it each time when a user request a keyword, would be suicidal.
So while creating/uploading/updating a document in the DMS we index using Lucene (which updates the Lucene index). We extract teh text/body from docuemnts and pass it to Lucene to add it to the index, aslon with other metadatas.
For a few million documents the Lucene Index grew a lot of Giga Bytes of data, and surprisingly our search from Lucene returned in less than 3-4 seconds.
Moreover it had lot of Search features which none of the DB's at that time(and still) doesn't support, such as:
ranked searching, phrase queries, wildcard queries, proximity queries, range queries, date, Sounds like (I can't find that in the recent versions somehow).
An interesting problem we faced was, as the Index grew so big. Due to some reason once the index got corrupt. We had to write a tool for re-indexing the whole repository. But this problem kept on coming back and re-indexing took ages.
A solution we found was to split/merge the index.
I would say - Lucene is a very carefully thought & brilliantly designed search Api.
PS- don't compare your DB search with Lucene. Both is entirely different and used in totally different contexts. Hope this clears all confusions.Please feel free to ask and I'll be happy to answer any queries regarding Lucene, as I had created a "lightning Search" using this Api.
Best Regards
Aneesh
http://uk.linkedin.com/in/aneeshvijendran