📄 sphinx.rake
字号:
namespace :sphinx do
desc 'Run indexer for configured indexes'
task :index do
config = load_config
if config[:indexes]
system "#{config[:root_dir]}/indexer --config \"#{config[:config_file]}\" #{config[:indexes]}"
else
puts 'You should specify indexes in sphinx.yml'
end
end
desc 'Run indexer for all indexes'
task :index_all do
config = load_config
system "#{config[:root_dir]}/indexer --config \"#{config[:config_file]}\" --all"
end
desc 'Rotate configured indexes and restart searchd server'
task :rotate do
config = load_config
if config[:indexes]
system "#{config[:root_dir]}/indexer --config \"#{config[:config_file]}\" --rotate #{config[:indexes]}"
else
puts 'You should specify indexes in sphinx.yml'
end
end
desc 'Rotate all indexes and restart searchd server'
task :rotate_all do
config = load_config
system "#{config[:root_dir]}/indexer --config \"#{config[:config_file]}\" --rotate --all"
end
desc 'Start searchd server'
task :start do
config = load_config
if File.exists?(config[:pid_file])
puts 'Sphinx searchd server is already started.'
else
system "#{config[:root_dir]}/searchd --config \"#{config[:config_file]}\""
puts 'Sphinx searchd server started.'
end
end
desc 'Stop searchd server'
task :stop do
config = load_config
unless File.exists?(config[:pid_file])
puts 'Sphinx searchd server is not running.'
else
pid = File.read(config[:pid_file]).chomp
kill 'SIGHUP', pid
puts 'Sphinx searchd server stopped.'
end
end
desc 'Restart searchd server'
task :restart => [:stop, :start]
def load_config
return @sphinx_config if @sphinx_config
options = YAML.load_file(File.dirname(__FILE__) + '/../../../../config/sphinx.yml') rescue {}
@sphinx_config = {
:config_file => options['config_file'] || '/etc/sphinx.conf',
:root_dir => options['root_dir'] || '/usr/bin',
:indexes => options['indexes']
}
sphinx_config = File.read(@sphinx_config[:config_file]) rescue ''
sphinx_config =~ /searchd\s*{.*pid_file\s*=\s*(.*?)\n.*}/m
@sphinx_config[:pid_file] = $1 || '/var/run/searchd.pid'
return @sphinx_config
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -