Hi,
Thank you for your answer.
The root and the nodes are in the same table for us.
Is there no "group_by" or something for ferret? That would probably
make the deal.
Regards
Till
Am 20.11.2007 um 14:36 schrieb Chris Strom:
If you are using acts_as_ferret, it will never get called. The
acts_as_ferret declaration would go on the root class. Updates to the
child classes would not trigger an aaf index update in the root class.
If you want to real-time index updates, you would have to add an
after_save callback to the child class that forces an aaf update in
the
root class.
If real-time updates are not too important, then you could dump the
child
updates into a queue that performs bulk updates. This would
minimize the
number of times this method gets called.
If you're worried about 200+ SQL calls, don't perform the join in
ruby, do
it via SQL using CONCAT and "Advanced Attribute" as described in
AWDWR,
19.3.
-Chris
On Tue, Nov 20, 2007 at 02:01:39PM +0100, Till Vollmer wrote:
Hi,
Thank you for the clue.
Ok, like a virtual attribute. Works technically but:
Downside: How often is that called ? Our tree has e.g. 200
children. This
means that the children are collected on every change of one of the
children (index) or?
Any other ideas?
Regards
Till
Am 20.11.2007 um 13:52 schrieb Chris Strom:
On Tue, Nov 20, 2007 at 01:17:30PM +0100, Till Vollmer wrote:
Hi,
Following problem:
We have a tree structure with children and a root element
(recursivly)
stored in one table (imagine a threaded forum).
Each of the children has a title which should be indexed by ferret.
Now we want to make a search that returns only the root and
searches all
items.
So if one node has "expensive" and nother node has "car" I want
to enter
"expensive car" in search and still find the root of all children
(and
only once!)
Also paging should work as well.
Any clues how to achieve that?
An instance method in the root class to the effect of
children_titles_with_spaces would get you this. That method would
return
"expensive car" given your simple, two-node example, which would be
indexable with the normal analyzer.
-Chris
_______________________________________________
Ferret-talk mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/ferret-talk
Codemart GmbH
Till Vollmer
Managing Director
Tel: +49 (0)89 1213 5359
Mob: + 49 (0)160 718 7403
Fax: +49 (0)89 1892 1347
Yahoo ID: till_vollmer
Skype: till_vollmer
www.codemart.de
[EMAIL PROTECTED]
_______________________________________________
Ferret-talk mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/ferret-talk
_______________________________________________
Ferret-talk mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/ferret-talk
Codemart GmbH
Till Vollmer
Managing Director
Tel: +49 (0)89 1213 5359
Mob: + 49 (0)160 718 7403
Fax: +49 (0)89 1892 1347
Yahoo ID: till_vollmer
Skype: till_vollmer
www.codemart.de
[EMAIL PROTECTED]
_______________________________________________
Ferret-talk mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/ferret-talk