你可以使用太阳黑子和jruby,这里也是我的应用程序详情
jruby-1.6.1
rails 3.0.7
when i install all the gems and run rake sunspot:solr:start it gives me the following error
Gem::LoadError: Could not find RubyGem sunspot (>= 0)
report_activate_error at /Users/dpatel/.rvm/rubies/jruby-1.6.1/lib/ruby/site_ruby/1.8/rubygems.rb:861
activate at /Users/dpatel/.rvm/rubies/jruby-1.6.1/lib/ruby/site_ruby/1.8/rubygems.rb:255
gem at /Users/dpatel/.rvm/rubies/jruby-1.6.1/lib/ruby/site_ruby/1.8/rubygems.rb:1215
(root) at /Users/dpatel/.rvm/gems/jruby-1.6.1@solr/bin/sunspot-solr:18
然而,当我运行rake sunspot:solr:run时,它运行正常。
此外,当我使用Model.search进行搜索时,它工作正常,但是当我在浏览器上启动solr webapp并搜索某些东西时,它不起作用。
任何人都可以告诉我发生了什么,是太阳黑子的新手。
-Thanks
答案 0 :(得分:2)
嗨我有点想通了,我在jruby上并且不允许在jruby上使用fork,并且rake sunspot:solr:start尝试fork并抛出错误但是 rake sunspot:solr:run在前台启动solr并且工作正常,有点痛苦但是一切都很好: - )
-D
答案 1 :(得分:1)
你已经找到了分叉问题,所以如果你想留在一个shell进行开发和测试,我发现这些别名对于在特定的rails环境中运行太阳黑子特别有用,然后当我找到并杀死那个进程时我完成了:
如果保留默认端口:
alias sunspot_run_test="RAILS_ENV=test sunspot-solr run &"
alias sunspot_kill_test="fuser -n tcp 8982 -k"
alias sunspot_run_dev="RAILS_ENV=test sunspot-solr run &"
alias sunspot_kill_dev="fuser -n tcp 8982 -k
如果您更改端口,则需要更改自动生成的sunspot.yml或在config>初始值设定项中放置sunspot.rb,然后您可以在& amp;之前添加-p {$ port_num}。在运行别名上,将显式端口号更改为{$ port_num}以获取kill别名。
正如弗拉德所说,很难从你的解释中知道浏览器中发生了什么。如果你是sunspot的新手,可以抓住你的一件事是你需要在开发环境中运行一个实例(使用sunspot_run_dev别名),然后再尝试CRUD数据库中的任何东西,否则你会得到连接拒绝错误。
请参阅bash aliases not recognized by a bash function: sunspot_rails, jruby, rspec以获取更多故障排除功能,以包装需要太阳黑子的命令。
答案 2 :(得分:0)
对于佣金问题:
gem install sunspot -v 1.2.rc4
对于'在浏览器中不起作用':你的意思是什么不起作用?
您可以通过比较您在脚本/控制台上手动生成的Solr请求和服务器生成的请求来调试它。默认情况下,sunspot gem在'logs / sunspot-solr-development.log'
中记录请求