【发布时间】:2012-12-04 22:11:51
【问题描述】:
是否可以在不设置多核或重新启动 servlet 容器的情况下 reload Solr configuration?
我想在管理中使用分析选项卡调整一些
【问题讨论】:
标签: solr lucene reload multicore core
是否可以在不设置多核或重新启动 servlet 容器的情况下 reload Solr configuration?
我想在管理中使用分析选项卡调整一些
【问题讨论】:
标签: solr lucene reload multicore core
SOLR 中总是有一个核心。默认情况下,SOLR 实例创建一个名为 collection1 的核心。如果你有一个单核并且不确定如何在运行时重新加载,你可以使用这个,
http://localhost:8080/solr/admin/cores?action=RELOAD&core=collection1
【讨论】:
据我所知,在线重新加载需要多核配置,事实证明这并不难:
把这个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
【讨论】: