Merge pull request #1520 from xmera-circle/xapian-indexing-with-further-option-for-db-setting

Support option -d to set xapian index database via CLI
This commit is contained in:
Karel Pičman 2024-04-02 16:04:09 +02:00 committed by GitHub
commit a252e60437
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -41,7 +41,7 @@ OMINDEX = '/usr/bin/omindex'
# OMINDEX += " --filter=image/jpeg:'tesseract -l chi_sim+chi_tra %f -'" # OMINDEX += " --filter=image/jpeg:'tesseract -l chi_sim+chi_tra %f -'"
# Directory containing Xapian databases for omindex (Attachments indexing) # Directory containing Xapian databases for omindex (Attachments indexing)
DBROOTPATH = File.expand_path('dmsf_index', REDMINE_ROOT) db_root_path = File.expand_path('dmsf_index', REDMINE_ROOT)
# Verbose output, false/true # Verbose output, false/true
verbose = false verbose = false
@ -72,6 +72,9 @@ optparse = OptionParser.new do |opts|
opts.separator('') opts.separator('')
opts.separator('') opts.separator('')
opts.separator('Options:') opts.separator('Options:')
opts.on('-d', '--index_db DB_PATH', 'Absolute path to index database according plugin settings in UI') do |db|
db_root_path = db
end
opts.on('-s', '--stemming_lang a,b,c', Array, 'Comma separated list of stemming languages for indexing') do |s| opts.on('-s', '--stemming_lang a,b,c', Array, 'Comma separated list of stemming languages for indexing') do |s|
stem_langs = s stem_langs = s
end end
@ -104,6 +107,7 @@ optparse = OptionParser.new do |opts|
opts.separator('') opts.separator('')
opts.separator('Examples:') opts.separator('Examples:')
opts.separator(' xapian_indexer.rb -s english,italian -v') opts.separator(' xapian_indexer.rb -s english,italian -v')
opts.separator(' xapian_indexer.rb -d $HOME/index_db -s english,italian -v')
opts.separator('') opts.separator('')
opts.summary_width = 25 opts.summary_width = 25
end end
@ -142,7 +146,7 @@ begin
warn "'#{filespath}' doesn't exist." warn "'#{filespath}' doesn't exist."
exit 1 exit 1
end end
databasepath = File.join(DBROOTPATH, lang) databasepath = File.join(db_root_path, lang)
unless File.directory?(databasepath) unless File.directory?(databasepath)
log "#{databasepath} does not exist, creating ...", verbose log "#{databasepath} does not exist, creating ...", verbose
FileUtils.mkdir_p databasepath FileUtils.mkdir_p databasepath