私は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
この検索は問題なく機能しているようですが、ユーザーが継承されたタグを使用して検索できるようにそれらを組み合わせるのに問題があります。どんなアドバイスでも大歓迎です!