Forum: Ferret how to index the result of any instance method

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
4571317fac363d4e8b86276f0ae49de7?d=identicon&s=25 Tom (Guest)
on 2006-05-22 07:47
Hi,

One of the AAF features is to be able to index results of methods, but I
haven't seen anywhere how to do this.  I have a method that returns the
full text of a file and I'd like for this to be indexed. Can anyone out
there help me out on this one?

Tom
D80de8699b738b9d42978b40ba6d4d11?d=identicon&s=25 Jan Prill (Guest)
on 2006-05-22 09:41
(Received via mailing list)
Hi, Tom,

haven't used this myself but if I understand
http://projects.jkraemer.net/acts_as_ferret/rdoc/c...
you are able to add symbols of your instance methods to the fields
of the options hash of acts_as_ferret:

"fields:names all fields to include in the index. If not given,

  all attributes of the class will be indexed. You may also give
  symbols pointing to instance methods of your model here, i.e.
  to retrieve and index data from a related model.
"

Regards
Jan
C9dd93aa135988cabf9183d3210665ca?d=identicon&s=25 Jens Kraemer (Guest)
on 2006-05-22 11:22
(Received via mailing list)
Hi!

On Mon, May 22, 2006 at 09:37:54AM +0200, Jan Prill wrote:
>  symbols pointing to instance methods of your model here, i.e.
>  to retrieve and index data from a related model.
> "

right, just use the method name as a symbol in the fields list:

class MyModel < ActiveRecord::Base
  acts_as_ferret :fields => [ :full_text, 'title' ]
  def full_text
    # return content to be indexed here
  end
end

where title is a normal database backed attribute.

Cheers,
Jens


> >
> >--
> >Posted via http://www.ruby-forum.com/.
> >_______________________________________________
> >Ferret-talk mailing list
> >Ferret-talk@rubyforge.org
> >http://rubyforge.org/mailman/listinfo/ferret-talk
> >

> _______________________________________________
> Ferret-talk mailing list
> Ferret-talk@rubyforge.org
> http://rubyforge.org/mailman/listinfo/ferret-talk

--
webit! Gesellschaft für neue Medien mbH          www.webit.de
Dipl.-Wirtschaftsingenieur Jens Krämer       kraemer@webit.de
Schnorrstraße 76                         Tel +49 351 46766  0
D-01069 Dresden                          Fax +49 351 46766 66
4571317fac363d4e8b86276f0ae49de7?d=identicon&s=25 Tom (Guest)
on 2006-05-23 08:42
Jens Kraemer wrote:
> Hi!
>
> On Mon, May 22, 2006 at 09:37:54AM +0200, Jan Prill wrote:
>>  symbols pointing to instance methods of your model here, i.e.
>>  to retrieve and index data from a related model.
>> "
>
> right, just use the method name as a symbol in the fields list:
>
> class MyModel < ActiveRecord::Base
>   acts_as_ferret :fields => [ :full_text, 'title' ]
>   def full_text
>     # return content to be indexed here
>   end
> end
>
> where title is a normal database backed attribute.
>
> Cheers,
> Jens
>
>
>> >
>> >--
>> >Posted via http://www.ruby-forum.com/.
>> >_______________________________________________
>> >Ferret-talk mailing list
>> >Ferret-talk@rubyforge.org
>> >http://rubyforge.org/mailman/listinfo/ferret-talk
>> >
>
>> _______________________________________________
>> Ferret-talk mailing list
>> Ferret-talk@rubyforge.org
>> http://rubyforge.org/mailman/listinfo/ferret-talk
>
> --
> webit! Gesellschaft f�r neue Medien mbH          www.webit.de
> Dipl.-Wirtschaftsingenieur Jens Kr�mer       kraemer@webit.de
> Schnorrstra�e 76                         Tel +49 351 46766  0
> D-01069 Dresden                          Fax +49 351 46766 66


Thanks Jens,

Now I've got the approach figured out, but I seem to be having problems
yet.  It seems that my full_text method is not actually being indexed.
In fact, I've placed a breakpoint inside the method and it seems that
it's never even being called.  Meanwhile, Ferret still manages to update
index with every new instance of MyModel, but without the full_text
value.  I also placed a breakpoint in
vendor/plugins/acts_as_ferret/rebuild_index.rb and it appears that IT is
never called when a new model instance is created.  Any thoughts?

Really appreciate your help,

Tom
C9dd93aa135988cabf9183d3210665ca?d=identicon&s=25 Jens Kraemer (Guest)
on 2006-05-23 09:42
(Received via mailing list)
On Tue, May 23, 2006 at 08:42:10AM +0200, Tom wrote:
> > class MyModel < ActiveRecord::Base
>
> Now I've got the approach figured out, but I seem to be having problems
> yet.  It seems that my full_text method is not actually being indexed.
> In fact, I've placed a breakpoint inside the method and it seems that
> it's never even being called.  Meanwhile, Ferret still manages to update
> index with every new instance of MyModel, but without the full_text
> value.  I also placed a breakpoint in
> vendor/plugins/acts_as_ferret/rebuild_index.rb and it appears that IT is
> never called when a new model instance is created.  Any thoughts?

What version of acts_as_ferret do you use ? Could you try to upgrade
from svn ? rebuild_index.rb has been removed some time ago as it is
obsolete.

Jens

--
webit! Gesellschaft für neue Medien mbH          www.webit.de
Dipl.-Wirtschaftsingenieur Jens Krämer       kraemer@webit.de
Schnorrstraße 76                         Tel +49 351 46766  0
D-01069 Dresden                          Fax +49 351 46766 66
4571317fac363d4e8b86276f0ae49de7?d=identicon&s=25 Tom On (tomeeo)
on 2006-06-01 09:35
Jens Kraemer wrote:
> On Tue, May 23, 2006 at 08:42:10AM +0200, Tom wrote:
>> > class MyModel < ActiveRecord::Base
>>
>> Now I've got the approach figured out, but I seem to be having problems
>> yet.  It seems that my full_text method is not actually being indexed.
>> In fact, I've placed a breakpoint inside the method and it seems that
>> it's never even being called.  Meanwhile, Ferret still manages to update
>> index with every new instance of MyModel, but without the full_text
>> value.  I also placed a breakpoint in
>> vendor/plugins/acts_as_ferret/rebuild_index.rb and it appears that IT is
>> never called when a new model instance is created.  Any thoughts?
>
> What version of acts_as_ferret do you use ? Could you try to upgrade
> from svn ? rebuild_index.rb has been removed some time ago as it is
> obsolete.
>
> Jens
>
> --
> webit! Gesellschaft f�r neue Medien mbH          www.webit.de
> Dipl.-Wirtschaftsingenieur Jens Kr�mer       kraemer@webit.de
> Schnorrstra�e 76                         Tel +49 351 46766  0
> D-01069 Dresden                          Fax +49 351 46766 66


Okay, thanks. I've got it working now for simple text files.  Can
anybody share any experience/opinion they have on using Ruby to process
and index/search Microsoft documents and PDFs ???  Thanks for any help.
C9dd93aa135988cabf9183d3210665ca?d=identicon&s=25 Jens Kraemer (Guest)
on 2006-06-01 10:25
(Received via mailing list)
On Thu, Jun 01, 2006 at 09:35:18AM +0200, Tom On wrote:
>
> Okay, thanks. I've got it working now for simple text files.  Can
> anybody share any experience/opinion they have on using Ruby to process
> and index/search Microsoft documents and PDFs ???  Thanks for any help.

In RDig I use the wvText and pdftotext to extract textual content from
word
and pdf documents. Imho there is no Ruby lib yet to do this.

Jens

--
webit! Gesellschaft für neue Medien mbH          www.webit.de
Dipl.-Wirtschaftsingenieur Jens Krämer       kraemer@webit.de
Schnorrstraße 76                         Tel +49 351 46766  0
D-01069 Dresden                          Fax +49 351 46766 66
B5e329ffa0cc78efbfc7ae2d084c149f?d=identicon&s=25 David Balmain (Guest)
on 2006-06-01 10:40
(Received via mailing list)
On 6/1/06, Jens Kraemer <kraemer@webit.de> wrote:
> On Thu, Jun 01, 2006 at 09:35:18AM +0200, Tom On wrote:
> >
> > Okay, thanks. I've got it working now for simple text files.  Can
> > anybody share any experience/opinion they have on using Ruby to process
> > and index/search Microsoft documents and PDFs ???  Thanks for any help.
>
> In RDig I use the wvText and pdftotext to extract textual content from word
> and pdf documents. Imho there is no Ruby lib yet to do this.

I second that. I've tried the Ruby pdf reader alternitives on RAA
without much luck. If anyone knows a good pdf reading opensource C
library I'd be happy to write some bindings. But I think wvText and
pdftotext are your best options right now.
This topic is locked and can not be replied to.