Мыслящий сфинкс на поиске дочерней модели
Я пытаюсь подумать о сфинксе в моем приложении rails, и, похоже, у меня проблема с индексацией моих данных.
У меня есть родительская модель, которая имеет много свойств:
class Parent
has_many :childs
end
class Property
belongs_to :parent
end
У свойств есть ключи и значения в базе данных, и я хочу найти все родительские объекты, у которых есть хотя бы один дочерний элемент с данной парой ключ-значение. Как я могу построить индекс для родительской модели в этом случае?
Я буду очень благодарен, если вы сможете помочь.
1 ответ
В блоке define_index вы можете вызывать атрибуты потомков.
define_index do
...
indexes children(:attr) as children_attrs
end
При этом вы сможете индексировать то, что вам нужно.
Хотя в вашем примере, кажется, нет связи между Родителем и Собственностью, поэтому должен быть один, чтобы это работало. Также пара ключ-значение, хранятся ли они как хэш, или вы ссылаетесь на атрибуты?