Hi Pat,

I have one more question here.
The code you recommended
(  writeboards.collect(&:writeboard_contents).flatten.collect(&:body).join('
') ) is veeeery heavy on the application. It takes forever to load on
my development machine. Also, doing this means we lose some big
benefits from the search. ThinkingSphinx must know at some point what
objects contain the search keyword. Now, it seems I have to retrieve
all objects (heavy process) then filter them again (another heavy
process) through excerpts.
Is there any way of retrieving only the objects Sphinx found in the
search?
I realize I could create another ThinkingSphinx search for that, but
that still doesnt seem to make much sense to me...

Best regards,

Gedeon

On Apr 26, 10:14 am, Gedeon <[email protected]> wrote:
> I see! Thanks a lot!
> It's actually a lot easier than I thought :-)
>
> On Apr 23, 1:59 pm, Pat Allan <[email protected]> wrote:
>
>
>
> > HiGedeon
>
> > You can't delve into associated objects for excerpts directly - but the 
> > excerpts object just looks at methods, not columns, so just create a method 
> > that pulls all the association data together, and call that via excerpts 
> > instead.
>
> >   def wb_content_body
> >     
> > writeboards.collect(&:writeboard_contents).flatten.collect(&:body).join(' ')
> >   end
>
> >   # ...
>
> >   project.excerpts.wb_content_body
>
> > Cheers
>
> > --
> > Pat
>
> > On 20/04/2010, at 2:10 PM,Gedeonwrote:
>
> > > Hello Pat (and all Thinking Sphinx experts),
>
> > > Sorry to bother you again. I hope this problem will be easy to solve!
> > > The context is still the same as in my previous thread: Searching
> > > projects.
>
> > > Projects are linked to several kinds of associated objects.
> > > One of these are "writeboards" (which can be considered as some kind
> > > of wiki) and each writeboard can have several "writeboard_contents"
> > > which are the different versions of the wiki.
>
> > > So:
> > > A project has many writeboards
> > > A writeboard has many writeboard_contents
>
> > > My ThinkingSphinx index definition contains:
> > > indexes writeboards.writeboard_contents.body, :as => :wb_content_body
>
> > > Now, if I search for "blueberry" and that word appears the 'wiki' of
> > > project called "pie recipes", how can i let the user know why TS
> > > retrieves "Pie recipes"?
> > > I would like to use excerpts to display that info, but I cannot seem
> > > to get it to work.
> > > The example I found 
> > > onhttp://freelancing-god.github.com/ts/en/excerpts.html
> > > only shows excerpts within the searched class (i.e.:
> > > article.excerpts.body ) but I cannot see any example of excerpts in
> > > associated objects (i.e.: article.excerpts.author.biography)
>
> > > I tried several possibilities, but none of them worked:
> > > project.excerpts.wb_content_body :
> > > undefined method `wb_content_body' for #<Project:0x9737504>
>
> > > project.excerpts.writeboards.writeboard_contents.body
> > > undefined method `writeboard_contents' for "#&lt;Writeboard:
> > > 0x9705888&gt;":String
>
> > > Is something like this possible?
> > > How can I do it?
>
> > > Thanks a lot for your help!
> > > Best regards,
>
> > >Gedeon
>
> > > --
> > > You received this message because you are subscribed to the Google Groups 
> > > "Thinking Sphinx" group.
> > > To post to this group, send email to [email protected].
> > > To unsubscribe from this group, send email to 
> > > [email protected].
> > > For more options, visit this group 
> > > athttp://groups.google.com/group/thinking-sphinx?hl=en.
>
> > --
> > You received this message because you are subscribed to the Google Groups 
> > "Thinking Sphinx" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to 
> > [email protected].
> > For more options, visit this group 
> > athttp://groups.google.com/group/thinking-sphinx?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Thinking Sphinx" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group 
> athttp://groups.google.com/group/thinking-sphinx?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Thinking Sphinx" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/thinking-sphinx?hl=en.

Reply via email to