Мыслящий сфинкс на поиске дочерней модели

Я пытаюсь подумать о сфинксе в моем приложении 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

При этом вы сможете индексировать то, что вам нужно.

Хотя в вашем примере, кажется, нет связи между Родителем и Собственностью, поэтому должен быть один, чтобы это работало. Также пара ключ-значение, хранятся ли они как хэш, или вы ссылаетесь на атрибуты?

Другие вопросы по тегам