I am not sure what does it mean. So could not solve your problem right now.<br>But probably I could say more if you try to grab latest Ferret from SVN and build it manually.<br><br>svn co <a href="svn://www.davebalmain.com/ferret/trunk">
svn://www.davebalmain.com/ferret/trunk</a> ferret<br>cd ferret/ext<br>ruby extconf.rb<br>make<br><br><div><span class="gmail_quote">On 12/2/05, <b class="gmail_sendername">Carl Youngblood</b> <<a href="mailto:carl@youngbloods.org">
carl@youngbloods.org</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">FYI, I tried installing ferret on my freebsd virtual server and got this:
<br><br>retango# gem install ferret --include-dependencies<br>Attempting local installation of 'ferret'<br>Local gem file not found: ferret*.gem<br>Attempting remote installation of 'ferret'<br>Updating Gem source index for:
<a href="http://gems.rubyforge.org">http://gems.rubyforge.org</a><br>Building native extensions. This could take a while...<br>index_io.c: In function `frt_indexin_refill':<br>index_io.c:80: syntax error before `rStr'<br>
index_io.c:82: `rStr' undeclared (first use in this function)<br>index_io.c:82: (Each undeclared identifier is reported only once<br>index_io.c:82: for each function it appears in.)<br>index_io.c: In function `frt_read_byte':
<br>index_io.c:103: syntax error before `res'<br>index_io.c:104: `res' undeclared (first use in this function)<br>index_io.c: In function `frt_indexin_refill':<br>index_io.c:80: syntax error before `rStr'<br>index_io.c:82: `rStr' undeclared (first use in this function)
<br>index_io.c:82: (Each undeclared identifier is reported only once<br>index_io.c:82: for each function it appears in.)<br>index_io.c: In function `frt_read_byte':<br>index_io.c:103: syntax error before `res'<br>index_io.c:104: `res' undeclared (first use in this function)
<br>ruby extconf.rb install ferret --include-dependencies<br>creating Makefile<br><br>make<br>gcc -fPIC -g -O2 -I. -I/usr/local/lib/ruby/1.8/i386-freebsd4.10<br>-I/usr/local/lib/ruby/1.8/i386-freebsd4.10 -I. -c index_io.c
<br>*** Error code 1<br><br>Stop in /usr/local/lib/ruby/gems/1.8/gems/ferret-0.2.2/ext.<br><br>make install<br>gcc -fPIC -g -O2 -I. -I/usr/local/lib/ruby/1.8/i386-freebsd4.10<br>-I/usr/local/lib/ruby/1.8/i386-freebsd4.10 -I. -c index_io.c
<br>*** Error code 1<br><br>Stop in /usr/local/lib/ruby/gems/1.8/gems/ferret-0.2.2/ext.<br>Successfully installed ferret-0.2.2<br><br><br>Not sure why the native extensions don't compile. I'm assuming it's a<br>problem with gcc.
<br><br>Thanks,<br>Carl<br><br>On 12/1/05, David Balmain <<a href="mailto:dbalmain.ml@gmail.com">dbalmain.ml@gmail.com</a>> wrote:<br>> Hi Carl,<br>><br>> I actually finished integrating my cFerret indexer but I'm not going
<br>> to release it. The performance is great but the code is really messy<br>> and it would be a nightmare to maintain. Instead I'm porting the<br>> search part of Lucene to C and I'll write a Ruby interface to this
<br>> when I'm finished. I wish I could give you an accurate estimate but<br>> the search module is the largest part or Lucene so it's going to take<br>> time. As an added bonus, search will be a lot faster as well as
<br>> indexing so it will be worth the wait. Hopefully I'll have something<br>> finished by Christmas.<br>><br>> Solution: instead of optimizing your index every time you change it,<br>> just flush it. This will keep your ActiveRecord model is in sync with
<br>> your index without the large delay.<br>><br>> Cheers,<br>> Dave<br>><br>> On 12/2/05, Carl Youngblood <<a href="mailto:carl@youngbloods.org">carl@youngbloods.org</a>> wrote:<br>> > I'm noticing some long delays when optimizing my index. I know this
<br>> > is terribly inefficient, but in order to make sure that my<br>> > ActiveRecord model is in sync with my index, I'm optimizing after<br>> > every new record that I store, like so:<br>> ><br>
> > class Resume < ActiveRecord::Base<br>> > include Ferret<br>> > has_and_belongs_to_many :users<br>> > SEARCH_INDEX = File.dirname(__FILE__) + '/../../searchindex'<br>> ><br>> > # syncronization with ferret index
<br>> > def after_save<br>> > @@index ||= Index::Index.new(:path => SEARCH_INDEX,<br>> > :create_if_missing => true)<br>> > @@index << {:id => id, :email => email, :contents => contents,
<br>> > :date => found_on}<br>> > @@index.flush<br>> > @@index.optimize<br>> > end<br>> ><br>> > def after_destroy<br>> > @@index ||= Index::Index.new(:path => SEARCH_INDEX,
<br>> > :create_if_missing => true)<br>> > @@index.delete(id)<br>> > @@index.flush<br>> > @@index.optimize<br>> > end<br>> ><br>> > ...<br>> > end<br>> >
<br>> > I'm noticing about a 2-3 second delay after every new record that I<br>> > store. I'm thinking that this will be bearable when cFerret comes<br>> > out. Do you have any estimate on when that might be?
<br>> ><br>> > Thanks,<br>> > Carl<br>> ><br>> > _______________________________________________<br>> > Ferret-talk mailing list<br>> > <a href="mailto:Ferret-talk@rubyforge.org">
Ferret-talk@rubyforge.org</a><br>> > <a href="http://rubyforge.org/mailman/listinfo/ferret-talk">http://rubyforge.org/mailman/listinfo/ferret-talk</a><br>> ><br>><br>> _______________________________________________
<br>> Ferret-talk mailing list<br>> <a href="mailto:Ferret-talk@rubyforge.org">Ferret-talk@rubyforge.org</a><br>> <a href="http://rubyforge.org/mailman/listinfo/ferret-talk">http://rubyforge.org/mailman/listinfo/ferret-talk
</a><br>><br><br>_______________________________________________<br>Ferret-talk mailing list<br><a href="mailto:Ferret-talk@rubyforge.org">Ferret-talk@rubyforge.org</a><br><a href="http://rubyforge.org/mailman/listinfo/ferret-talk">
http://rubyforge.org/mailman/listinfo/ferret-talk</a><br></blockquote></div><br><br clear="all"><br>-- <br>anatol (<a href="http://pomozov.info">http://pomozov.info</a>)