是否有可能在没有设置多核或重新启动servlet容器的情况下reload Solr configuration?在没有多核的情况下重新加载Solr配置
我想调整一些<分析>链与admin分析选项卡,然后调整参数来我<requestHandler>,但其每一个细小的变化SCHEMA.XML或solrconfig后重新启动servlet容器。 XML有点痛苦和耗时。
是否有可能在没有设置多核或重新启动servlet容器的情况下reload Solr configuration?在没有多核的情况下重新加载Solr配置
我想调整一些<分析>链与admin分析选项卡,然后调整参数来我<requestHandler>,但其每一个细小的变化SCHEMA.XML或solrconfig后重新启动servlet容器。 XML有点痛苦和耗时。
是最好的,我可以告诉大家,在网上重装需要多核配置,事实证明是不太难:
将这个solr.xml
到Solr的主目录
<solr persistent="false" sharedLib="lib">
<cores adminPath="/admin/cores" defaultCoreName="core0">
<core name="core0" instanceDir="." />
</cores>
</solr>
重新启动该servlet容器。
打这样的URL来重新加载配置:
http://localhost:8983/solr/admin/cores?action=RELOAD&core=core0
为了去除摩擦的其余部分,你可以将它设置由conf
目录中运行以下脚本会自动重新加载配置。
get_on_fsevent.rb "http://localhost:8983/solr/admin/cores?action=RELOAD&core=core0"
get_on_fsevent.rb:
#!/usr/bin/env ruby
require 'rubygems'
require 'rb-fsevent'
require 'net/http'
require 'uri'
uri = URI.parse(ARGV.first)
fsevent = FSEvent.new
fsevent.watch Dir.pwd do |directories|
puts "Detected change. Requesting #{ARGV.first}"
puts Net::HTTP.get_response(uri)
end
fsevent.run
中始终有SOLR核心。默认情况下,SOLR实例创建一个名为collection1的核心。如果你有一个单一的核心,不知道如何在运行时重新加载,你可以使用这个,
http://localhost:8080/solr/admin/cores?action=RELOAD&core=collection1
如果你想查看可用来管理SOLR核心的各种命令,检查[SOLR命令]这个博客帖子( http://www.installationpage.com/solr/solr-admin-core-commands/)。 – arunchinnachamy