我已经使用acts_as_solr为我的rails应用程序对文本字段进行排序,如下面的标题所示。
我在日期工作时遇到了问题。
我的模型有以下
class Article < ActiveRecord::Base
acts_as_solr :fields[:title, {:title_s=> :string}, {:created_at_d => :date}]
def title_s
self.title
end
def created_at_d
self.created_at
end
以下内容将发送到solr服务器:
path=/select params={wt=ruby&rows=10start=0&sort=created_at_d_d+asc&fl=pk_i,score&q=(+searchtext)..........
solr代码
Article.paginate_all_by_solr(searchString, :order=> "created_at_d asc", :page = page, :per_page => results_per_page, :total_entrieds => count)
有什么明显我做错了吗?我不确定{:created_at_d =&gt;模型中的:date}是设置日期索引的正确方法。
当我刚刚将它从:created_at中删除时,我得到了标记字段周围的错误,类似于我尝试排序时的错误:title。
答案 0 :(得分:1)
索引有问题。
当我进入脚本/控制台并运行
时Article.rebuild_solr_index
它没有正确地为日期编制索引。
我使用以下网站创建了一个rake任务。 http://henrik.nyh.se/2007/06/rake-task-to-reindex-models-for-acts_as_solr
我跑的时候
>rake solr:reindex
索引已正确创建,日期排序开始有效。