[英]Searching using Solr Sunspot
我將Sunspot用於搜索功能。 這是我的控制器文件。
def show
search = Clothes.search do
fulltext 'params[:name]'
paginate :page => 1, :per_page => 30
end
@results = search.results
end
我的模型中有帶有名稱,maxprice,minprice等的產品,僅當插入時搜索功能才起作用
fulltext 'Nike'
但隨后它將顯示所有耐克產品的任何搜索查詢。 你們能幫我嗎?
這是我的模特
class Clothes < ActiveRecord::Base
searchable do
text :name, :default_boost => 1
integer :discount
float :maxprice
float :minprice
string :image
end
還有我的視圖文件。
<h1>Results for your search.</h1>
<%= render "shirts/new"%>
<table><tr><th>Name</th><th>Max. Price</th><th>Min. Price</th><th>Discount</th><th>Image</th></tr>
<% for prod in @results %>
<tr><td><%= prod.name %></td><td><%= prod.maxprice%></td><td><%= prod.minprice%></td><td><%= prod.discount%></td><td> <%= image_tag(prod.image, :alt => "logo", :size => "75x75") %> </td></tr>
<% end %>
</table>
這個你能幫我嗎。
結束
試試這個,我很久以前就使用這段代碼。 它應該工作
search = Sunspot.search(Food) do
keywords reference if reference.present?
with(:vendor_id).any_of(vendor_ids) if vendor_ids.present?
order_by :created_at, :desc
paginate(:page => page, :per_page => per_page)
end
在模型中,`關鍵字參考::fields => [:user_name,:food_habits,:age]
默認情況下,關鍵字方法包括所有文本字段,除非該選項另有指定。
請注意,您將字符串'params[:name]'
傳遞給fulltext
方法,而不是params[:name]
本身的值。 更改為此:
def show
search = Clothes.search do
fulltext params[:name]
paginate :page => 1, :per_page => 30
end
@results = search.results
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.