【发布时间】:2010-08-02 19:22:15
【问题描述】:
我正在使用Thinking Sphinx 在我的 Rails 应用程序上进行搜索。
我知道指南明确表示you can't index model methods,但我愿意。具体来说,我有一个模型,其实例可以通过acts_as_taggable_on_steroids 的has_many_through 关系进行标记。重要的警告:模型也通过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
此搜索似乎工作得很好,但我无法将它们组合起来以允许用户也使用继承的标签进行搜索。非常感谢任何建议!
【问题讨论】:
-
如果您的问题与搜索引擎 sphinx 无关,能否请您删除 sphinx 标签?
-
这是一个 sphinx 问题——认为 sphinx 是一个用于与 sphinx 集成的 rails 插件
标签: ruby-on-rails activerecord sphinx thinking-sphinx