我使用sunspot_rails和sunspot_solr宝石创建了一个简单的全文本搜索Rails应用程序。搜索总是返回数据库中的每条记录,而不管搜索词是什么。
class FooController < ApplicationController
def search
@foos = Foo.search do
fulltext params[:query]
end.result
respond_to do |format|
format.html { render :action => "index" }
format.xml { render :xml => @foos }
end
end
end
class Foo < ApplicationRecord
searchable do
text :name
end
end
resources :foos do
collection do
get :search
end
end
gem 'rails', '~> 5.1.0'
gem 'sunspot_rails','~> 2.5.0'
gem 'sunspot_solr','~> 2.5.0'
在进入索引页面之前,我运行bundle exec rake sunspot:reindex
,键入任何搜索词,并且无论我给它什么搜索词,控制器都会返回foos表中的所有记录。