balaji.a wrote:
> Hi All,
>    I am aware that Solr internally uses Lucene for search and indexing. But
> it would be helpful if anybody explains about Solr features that is not
> provided by Lucene.
>
> Thanks,
> Balaji.
>   
Any advanced Lucene application generally goes down the same path:

Build a system to manage IndexReaders and IndexWriters and concurrency
and index view refreshing. This is very
hard for beginners to get right - though many have tried.

Figure out how you want to manage (or not) some kind of schema. Write
something that *basically* does the job. Write something so that none
java programmers can setup the schema so you don't have to.

Add niceties on top, like support for efficient autocomplete and
spellchecking and faceting and plugins.

Figure out a scheme to replicate and distribute indexes so that you can
scale.

Add support for other APIs. REST, perl, whatever else your crazy
superiors are pulling from your crazy coworkers.

Add support for parsing rich documents, like pdfs, ms word, and dozens
of other formats.

Do it a short time with a small team. Spend a lot of time fixing bugs
and whacking at performance issues. Get most of it wrong because you
will the first time you do this. If your lucky: get a lot of it right
too and feel great about your large complicated system as you hurry to
fix all of its many imperfections - and then spend lots of time keeping
up with the latest changes, features, and improvements added to Lucene.
Or sit on the old features frozen in time. You won't have done it all
either - its too much work to do it all well in a reasonable amount of
time for a dev team that is not actually supposed to be building a
search server. You will cut stuff, you will skimp on stuff, and you will
make tradeoffs left and right.

I've gone down that path - I started *just* before Solr got rolling in
06. Lots of people have gone down that path or are on that path.

Solr does all of that for you, and it does it well. Many of those that
work on Lucene work on Solr. New Lucene features automatically go into
Solr. Solr will be maintained and developed by a team of people that are
not you, while your homegrown system (which does only <60% of what Solr
does and does it worse) will likely cobweb over 95% of the code. I love
developing with Lucene, and I bet you will too - but most people should
be using Solr.

Certain, target applications can still benefit using Lucene. Some Lucene
features don't move to Solr for a while. If you want near real-time,
thats only in Lucene right now. If you want everything done per segment,
that just Lucene right now (Solr still does some thing not per segment).
There are other little pros as well.

Its a tradeoff, that for the general guy looking for search, heavily
favors using Solr.

-- 
- Mark

http://www.lucidimagination.com



Reply via email to