Ruby on rails Rails 4:使用Sunspot和Solr进行搜索时出现的问题
我刚刚设置了Sunspot和Solr,使我的Rails应用程序具有强大的搜索功能 安装过程很简单,我做了所有需要的基本工作: 添加宝石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
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,他们添加了更多配置选项,您阅读了吗?查看: