我对 Sunspot/Solr 非常陌生,在我的网站上进行全文搜索时遇到了问题。请在下面找到代码:
/models/product.rb
attr_accessible :category_id, :title, :description
belongs_to :category
searchable do
text :title, :description
end
/models/category.rb
has_many :products
/控制器/类别控制器.rb
def show
@category = Category.find_by_slug!(params[:id])
@search = @category.products.solr_search do
fulltext params[:search]
end
@products = @search.results
end
/views/categories/show.html.erb
<%= form_tag @category, :method => :get do %>
<p>
<%= text_field_tag :search, params[:search] %>
<%= submit_tag "Search", :name => nil %>
</p>
<%end%>
我想搜索属于特定类别的产品。例如,如果参数中的类别是 :fiction ,我想将我的搜索结果限制为该类别下的产品。但是,如果我使用上面的代码搜索“丢失”,我会在所有类别下获得与“丢失”匹配的所有产品。我无法理解我在这里做错了什么。请帮忙。