所以我的数据库设置为: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 %>
答案 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 %>