Ruby on rails 利用太阳黑子进行搜索
我用太阳黑子做搜索函数。这是我的控制器文件Ruby on rails 利用太阳黑子进行搜索,ruby-on-rails,ruby,sunspot,Ruby On Rails,Ruby,Sunspot,我用太阳黑子做搜索函数。这是我的控制器文件 def show search = Clothes.search do fulltext 'params[:name]' paginate :page => 1, :per_page => 30 end @results = search.results end 我有一个模型,其中我的产品有名称、maxprice、minprice等。, 仅当我插
def show
search = Clothes.search do
fulltext 'params[:name]'
paginate :page => 1, :per_page => 30
end
@results = search.results
end
我有一个模型,其中我的产品有名称、maxprice、minprice等。,
仅当我插入
fulltext 'Nike'
但随后它会显示所有用于任何搜索查询的Nike产品。
你们能帮帮我吗
这是我的模型
class Clothes < ActiveRecord::Base
searchable do
text :name, :default_boost => 1
integer :discount
float :maxprice
float :minprice
string :image
end
class1
整数:折扣
浮动:最高价格
浮动:最低价格
字符串:图像
终止
还有我的视图文件
<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>
搜索结果。
NameMax。普莱斯明。价格折扣图像
“logo”,:size=>“75x75”)%%>
请帮我解决这个问题。
结束试试这个,我很久以前就用过这段代码了。应该行得通
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
在模型中,`keywords reference,:fields=>[:user\u name,:food\u habits,:age]
关键字方法默认包括所有文本字段,除非选项“另有规定。请注意,您将字符串
'params[:name]'
传递给全文方法,而不是params[:name]
本身的值。将其更改为:
def show
search = Clothes.search do
fulltext params[:name]
paginate :page => 1, :per_page => 30
end
@results = search.results
end
我感谢你的帮助。但是当我添加你的代码时,它说的是未定义的方法引用。但是它有什么不同吗?你确定你的模型被正确地索引了吗?当我不提供任何输入时,它会显示数据库中的所有内容。但当我输入关键字时,它不会输出任何内容。当我使用:rake sunspot:reindex重新编制数据库索引时。在这显示的这一显示的这一显示显示的这一显示的这一显示的这一显示的这一显示的这一队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队队现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场现场[8/8][100.00%][00:00][00:00][89.15/s]。它是否正确地重新编制了索引?如果您没有指定搜索查询,它确实应该返回所有内容。如果数据库中只有这8条记录,那么索引也很好。你在搜索一个实际上在衣服名称中的关键字吗?您也可以访问Solr管理界面。通过这种方式,您可以看到Solr所做工作的更多细节: