Ruby on rails Rails 4:使用Sunspot和Solr进行搜索时出现的问题

Ruby on rails Rails 4:使用Sunspot和Solr进行搜索时出现的问题,ruby-on-rails,ruby,solr,Ruby On Rails,Ruby,Solr,我刚刚设置了Sunspot和Solr,使我的Rails应用程序具有强大的搜索功能 安装过程很简单,我做了所有需要的基本工作: 添加宝石 gem 'sunspot_rails' gem 'sunspot_solr' gem 'progress_bar' 运行命令 bundle rails generate sunspot_rails:install bundle exec rake sunspot:solr:start rake sunspot:solr:run rake sunspot:sol

我刚刚设置了Sunspot和Solr,使我的Rails应用程序具有强大的搜索功能

安装过程很简单,我做了所有需要的基本工作:

添加宝石

gem 'sunspot_rails'
gem 'sunspot_solr'
gem 'progress_bar'
运行命令

bundle
rails generate sunspot_rails:install
bundle exec rake sunspot:solr:start
rake sunspot:solr:run
rake sunspot:solr:reindex
在这个级别上一切都很好,我的文档创建正确

现在对于搜索来说,它的效果不是很好。以下是我在模型和控制器上所做的操作:

域.rb

class Domain < ActiveRecord::Base
  searchable do
    text :name, stored: true
  end
end
class HomeController < ApplicationController
  def index
    @domains = Domain.search do
      fulltext params[:q], fields: [:name], highlight: true
      paginate page: params[:page], per_page: 12
    end
  end
end
但是,如果我搜索多个单词
great pizza
(例如,希望找到
great super giant pizza.com
),这就行不通了

我可能错过了太阳黑子/Solr设置的一点

有什么想法吗

编辑

gem 'sunspot_rails'
gem 'sunspot_solr'
gem 'progress_bar'
为了澄清这一点,我甚至尝试做了一个简单的搜索,例如:

Domain.search { fulltext 'great pizza' }

如示例所示。它不起作用。Sunspot/Solr实际上是在试图找到一个与
great pizza
完全匹配的文本,而不是找到与这两个词匹配的文本

你的
参数[:q]
怎么样?对我来说,你的
HomeController#index
方法正在呈现自己也很奇怪。为了确保这一点,试着运行一个简单的搜索,如下所示:
Order.search{fulltext'great pizza'}
谢谢你的回答。
q
参数是要搜索的文本。当它为空时,将返回所有结果。我曾尝试使用一个简单的搜索作为
Domain.search{fulltext'great pizza'}
,但它没有返回任何内容…我想这是您如何配置搜索的问题,我查看了repo,他们添加了更多配置选项,您阅读了吗?查看: