Ruby on rails 3 Rails 3通过使用sunspot创建搜索多个模型
我试图在我的Rails应用程序中设置一个“新内容”部分,该部分考虑为不共享任何关系的各种表创建的新记录。它们有一个共同点,就是它们都有一个created_at字段,我将用它来确定它们是否真的是“新的”,然后我想用这个公共字段对结果进行排序。我试着用太阳黑子做这个,但我不知道如何利用从太阳黑子搜索返回的结果集 例如,在我的上传和文章模型中,我有:Ruby on rails 3 Rails 3通过使用sunspot创建搜索多个模型,ruby-on-rails-3,sunspot,Ruby On Rails 3,Sunspot,我试图在我的Rails应用程序中设置一个“新内容”部分,该部分考虑为不共享任何关系的各种表创建的新记录。它们有一个共同点,就是它们都有一个created_at字段,我将用它来确定它们是否真的是“新的”,然后我想用这个公共字段对结果进行排序。我试着用太阳黑子做这个,但我不知道如何利用从太阳黑子搜索返回的结果集 例如,在我的上传和文章模型中,我有: searchable do time :created_at end 在我的搜索操作中,我将执行以下操作: @updates = Sunspo
searchable do
time :created_at
end
在我的搜索操作中,我将执行以下操作:
@updates = Sunspot.search(Upload,Article) do
with(:created_at).greater_than(1.hour.ago)
end
如果我执行@updates.total,它似乎会返回一些东西,它会返回我希望找到的记录数。除此之外,我不知道如何实际利用这些记录。我想做的是向视图发送@updates,确定每个记录的模型类型,然后继续打印相关信息,即名称、描述、父/子记录信息(例如upload.user.username)
我可能完全错了,也许对于我尝试执行的简单搜索,有一个比sunspot更好的选择?有关如何使用搜索结果的详细信息,请参阅。您正在寻找的方法是“results”,默认情况下,它将为您提供前30个结果:
@updates.results # array of first 30 results
谢谢Salil,结果函数正是我所需要的。我得仔细看看那本自述。