小平面搜索太阳黑子/ Solr没有面对

时间:2014-08-27 21:44:04

标签: ruby-on-rails ruby solr sunspot

所以我的数据库设置为:bar,:day,:deal。日是星期一,星期二......

我想参加:日,但没有任何方面会出现。有什么事情证明我做错了吗?

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 %>

1 个答案:

答案 0 :(得分:0)

在您的模型中您将字段日定义了两次:

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

Facet应该应用于字符串而不是文本。 您只需要重命名模型中的一个字段:

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 %>