2014-08-27 59 views
0

所以我的数据库设置了:bar,:day,:deal。日的形式是星期一,星期二...方面搜索太阳黑子/ Solr不刻面

我想面向:日,但没有方面会出现。有什么事情突出表明我做错了吗?

h_contoller

def index 
    @search = Happy.search do 
    fulltext params[:search] 
    facet(:day) 
    paginate :page => 1, :per_page => 550 
    end 
    @happies = Happy.where(id: @search.results.map(&:id)).page(params[:page]) 
end 

模型

searchable do 
    text :name, :boost => 5 
    text :day, :boost => 10 
    string :day 
end 

视图

<% @search.facet(:day).rows.each do |facet| %> 
    <p><%= puts "Author #{facet.value} has #{facet.count} pizza posts!" %></p> 
<% end %> 

回答

0

在模型中你有天域定义了两次:

text :day, :boost => 10 
string :day 

方面应该应用于字符串而不是文本。 你只需要重命名该领域中的一个模型:然后

text :day, :boost => 10 
string :day_str do 
    day 
end 

末做的面就可以了:

def index 
    @search = Happy.search do 
    fulltext params[:search] 
    facet(:day_str) 
    paginate :page => 1, :per_page => 550 
    end 
    @happies = Happy.where(id: @search.results.map(&:id)).page(params[:page]) 
end 

,并在视图:

<% @search.facet(:day_str).rows.each do |facet| %> 
    <p><%= puts "Author #{facet.value} has #{facet.count} pizza posts!" %></p> 
<% end %> 
+0

Aahhh祝工作!虽然... – Seal 2014-08-29 16:51:01

+0

您可能希望检查solr Web控制台存储的值是什么,以及您的solr查询返回的是什么。 – 2014-08-31 19:14:27