Я использую Thinking Sphinx , чтобы включить поиск в моем приложении Rails.
Я знаю, что в руководстве прямо сказано, что вы не можете индексировать методы модели , но я бы хотел. В частности, у меня есть модель, чьи экземпляры можно пометить с помощью отношения has_many_through
через acts_as_taggable_on_steroids
. Важное предупреждение: модель также вкладывается через awesome_nested_set
, и у меня есть теги, наследуемые через вложенность.
Вот как я ищу унаследованные теги:
def inherited_tags
retval = []
cat = self
while (cat = cat.parent)
retval += cat.tags
end
retval.uniq
end
Я могу выполнять поиск по явным (не унаследованным) тегам, используя:
define_index do
indexes title
indexes tags(:name)
end
Похоже, что этот поиск работает нормально, но у меня возникают проблемы с их объединением, чтобы пользователи также могли выполнять поиск с использованием унаследованных тегов. Любой совет очень ценится!