搜索总是返回表中的每条记录

时间:2019-08-01 01:55:10

标签: sunspot-rails sunspot-solr

我使用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表中的所有记录。

1 个答案:

答案 0 :(得分:0)

我查看了docs并没有找到.result方法,但是有一个.results,文档说默认情况下它返回一个包含前30个结果的数组。也许这是您的问题?