Search technique

hello all,

I need to implement search in my app. any one guide me which search technique or plugin or gem is good for it.
the search must be too fast. i used ferret before. but if there is any good other than this then please reply me.

Thanks

any idea about ferret…?

any idea about ferret..?

with acts_as_ferret (http://projects.jkraemer.net/acts_as_ferret) Ferret
can do all the things stated below, minus the need for a Java server :slight_smile:

And you don't need a search server running at all when doing local
development and testing - the server component is only needed for
production usage.

Btw, what exactly does 'Optimized for Low to High Volume Web Traffic'
mean?

Cheers,
Jens

>

[..]

Ferret is fine for low traffic sites, but once traffic goes up, things start to happen. I’m sure people on this list will know the disastrous “segmentation fault” errors ferret is well known for. The latest version of ferret has dealt with a lot of these bugs, so things should be better. Also, ferret has no way of splitting up your indexing to balance it over another server. All in all, I’ve switched from ferret to solr and although I’m not a big java fan because of its memory consumption, solr and the real lucene behind it blow away ferret both in terms of speed and reliability.

Best regards

Peter De Berdt

> with acts_as_ferret (http://projects.jkraemer.net/acts_as_ferret)
> Ferret
> can do all the things stated below, minus the need for a Java
> server :slight_smile:
>
> And you don't need a search server running at all when doing local
> development and testing - the server component is only needed for
> production usage.
>
> Btw, what exactly does 'Optimized for Low to High Volume Web Traffic'
> mean?

Ferret is fine for low traffic sites, but once traffic goes up,
things start to happen. I'm sure people on this list will know the
disastrous "segmentation fault" errors ferret is well known for. The
latest version of ferret has dealt with a lot of these bugs, so
things should be better.

Recent Ferret only segfaults or corrupts the index when multiple
processes write-access the index at the same time. This is a well-known
and discussed issue and one that can easily be solved by doing the
indexing with a single process, i.e. some backend server solution just
as solr is one, too.

Also, ferret has no way of splitting up your indexing to balance it
over another server.

Right, Ferret doesn't have that feature. I didn't miss it, yet.

All in all, I've switched from ferret to solr and although I'm not a
big java fan because of its memory consumption, solr and the real
lucene behind it blow away ferret both in terms of speed and
reliability.

Acts_as_ferret brings an indexing server that will handle all indexing
in production environments, so you'll see no segfaults or other problems
at all. Plus you get features like index versioning and background
rebuilds.

For the speed, Solr and acts_as_ferret/DRb seem to be pretty up to par,
with a slight advantage for Ferret according to this benchmark (not done
by me, but by a user of aaf):
http://calebjones.blogspot.com/2007/03/benchmarking-actsasferret-and.html

I'm not at all into search engine flamewars, but please hold to the
facts and don't post any unproven generalized speed estimates.
Thank you :slight_smile:

Regarding the stability you might like to have a look at projects like
omdb.org which runs Ferret for lots of live searches and the main site
search. it has a background indexer that is busy reindexing stuff as
soon as something on the page is changed - it runs without a single
hickup for months now. The project's code is MIT licensed, so you can
even have a look at how it's done under the hood.

cheers,
Jens

Point taken :slight_smile:

My experiences date back some time and my company has been the victim of corrupted indexes, but having read the entry in your wiki (http://projects.jkraemer.net/acts_as_ferret/wiki/DrbServer) makes me consider ferret again to be honest. As I said, I’m not a big fan of java because of its memory consumption and ease of use, but when our app went haywire all the time, I went for solr running as a Tomcat servlet and am still very happy with its performance.

On the other hand, acts_as_solr seems to have some new features that are not in acts_as_ferret (and can come in handy).

Dilemmas, I really hate em :slight_smile: Anyway, thx for your input, good food for thought :wink:

Best regards

Peter De Berdt