我有一个服务器设置了几个Rails应用程序,其中两个使用Solr太阳黑子。但是,Solr正在为给定的搜索返回不相关的结果,我相信问题归结为没有将Solr / Sunspot分离来处理两个Rails应用程序。
我在一个应用程序中有这个:
class Article < ActiveRecord::Base
searchable do
text :title, :boost => 2.0
text :body do
strip_tags body
end
time :created_at
end
end
和另一个:
class Article < ActiveRecord::Base
searchable do
text :title, :body
end
end
我的sunspot.yml文件基本相同:
production:
solr:
hostname: localhost
port: 8983
log_level: WARNING
path: /solr/default
solr_home: solr
development:
solr:
hostname: localhost
port: 8982
log_level: INFO
path: /solr/development
test:
solr:
hostname: localhost
port: 8981
log_level: WARNING
path: /solr/test
我的两个应用程序的solr.xml都是:
<?xml version="1.0" encoding="UTF-8" ?>
<solr persistent="false">
<cores adminPath="/admin/cores" host="${host:}" hostPort="${jetty.port:}">
<core name="default" instanceDir="." dataDir="default/data"/>
<core name="development" instanceDir="." dataDir="development/data"/>
<core name="test" instanceDir="." dataDir="test/data"/>
</cores>
</solr>
有没有办法获得1个Solr实例索引并为2个Rails应用程序提供结果?
我没有找到很多关于这方面的文档,所以对于如何做到这一点感到有些困惑。
非常感谢任何帮助。谢谢!
答案 0 :(得分:1)
我相信您正在寻找的是多核设置。默认情况下,这是太阳黑子现在运行的方式,除了核心用于不同的rails环境。有关此更改,请参阅https://github.com/sunspot/sunspot/issues/115。在该模板之后,我认为您需要找到一个位置来保存配置文件和数据目录,然后更新它们以列出它将运行的所有核心。 http://eemglobal.com/2014/07/setup-rails-4-with-sunspot-gem-and-solr-4-7-in-production-environment-on-ubuntu-14/上的这篇文章显示了另一种方法,您可以使用solr管理界面添加核心,然后更新配置文件以匹配。