How to install Ferret to get the best performance


#1

Hey all,

After dabbling with ActiveSearch, we’re coming back around to take
another look at Ferret.

ActiveSearch slowed to a crawl after indexing about 20k documents, each
20 lines each.

This time we may attempt to create multiple Ferret indexes (isolating
each organization’s data individually), since we eventually could have
upwards of 20k documents for some organizations.

I was wondering - what is the best current way to get optimal
performance out of Ferret? (C bindings, etc)

I’m developing locally on an OS X Tiger (latest updates). (PowerPC
architecture, not Intel just yet)

I tried the instructions laid out here for the Archive Install of
ferret-0.9.1-alpha:
http://ferret.davebalmain.com/trac/

After running:

sudo ruby setup.rb

I got:
make: *** [ferret_ext.bundle] Error 1
The C extensions were not installed. But don’t worry. Everything should
work fine

Then I tried installing the gem and everything seemed to work like a
charm. (no error messages, etc)

Does installing the gem give you the fast C extensions?

Also, we’ll eventually be deploying this onto a production Linux box.
Should we use the Archive Install method or gem install method for that
(to get the C extensions), or does it not matter?

Thanks!


#2

Ok, still reading up a bit here =)

This post sheds some light on the situation:
http://article.gmane.org/gmane.comp.lang.ruby.rails/27008

Eagerly awaiting cFerret,

  • Shanti

#3

Hi Shanti,

Actually, cferret is now used as the back end for ferret. But if you
got an error running the install then it won’t have been installed and
you’ll just be using the pure C version. There was a known issue with
the compile on OS X which I fixed a while back but I haven’t released
it yet as I’ve been trying to get ferret to compile on Windows.

That has been a major hassle so I might just put a release out today.
As for method of install, it shouldn’t make a difference in terms of
performance. I’d recommend the gem install for ease of use.

Cheers,
Dave


#4

But if you got an error running the install then it won’t have been installed and
you’ll just be using the pure C version

Dave,

Is that a typo? Did you mean “you’ll just be using the pure ruby
version”?

Tom

On 5/5/06, Shanti B. removed_email_address@domain.invalid wrote:

David B. wrote:

performance. I’d recommend the gem install for ease of use.
http://rubyforge.org/mailman/listinfo/ferret-talk


Tom D.

http://blog.atomgiant.com
http://gifthat.com


#5

Ah yes.

If the C extensions fail to compile then Ferret will rescue by using
the pure Ruby version instead.


#6

Hi David,

Sweet!! So if I installed the gem w/o errors, it’s now rocking the
latest cFerret engine that’s 100x faster or so? Awesome.

Thank you fine sir,

  • Shanti

(I couldn’t code my way out of a wet paper bag in C. ahem)

David B. wrote:

Hi Shanti,

Actually, cferret is now used as the back end for ferret. But if you
got an error running the install then it won’t have been installed and
you’ll just be using the pure C version. There was a known issue with
the compile on OS X which I fixed a while back but I haven’t released
it yet as I’ve been trying to get ferret to compile on Windows.

That has been a major hassle so I might just put a release out today.
As for method of install, it shouldn’t make a difference in terms of
performance. I’d recommend the gem install for ease of use.

Cheers,
Dave