diff src/luan/modules/lucene/Lucene.luan @ 1367:836e00bf7ce2

add Lucene backup_to
author Franklin Schmidt <fschmidt@gmail.com>
date Tue, 18 Jun 2019 16:27:03 -0600
parents 6617763dfd76
children 5225cd6ed478
line wrap: on
line diff
--- a/src/luan/modules/lucene/Lucene.luan	Mon Jun 17 21:50:40 2019 -0600
+++ b/src/luan/modules/lucene/Lucene.luan	Tue Jun 18 16:27:03 2019 -0600
@@ -48,7 +48,6 @@
 	end
 
 	index.to_string = java_index.to_string
---	index.backup = java_index.backup
 	index.snapshot = java_index.snapshot
 	index.advanced_search = java_index.advanced_search
 	index.search_in_transaction = java_index.search_in_transaction
@@ -126,6 +125,19 @@
 		end
 	end
 
+	function index.backup_to(backup_dir)
+		backup_dir.delete()
+		backup_dir.mkdir()
+		index.snapshot( function(dir_path,file_names)
+			local lucene_dir = uri("file:"..dir_path)
+			for _, file_name in ipairs(file_names) do
+				local lucene_file = lucene_dir.child(file_name)
+				local backup_file = backup_dir.child(file_name)
+				backup_file.link_to(lucene_file)
+			end
+		end )
+	end
+
 	function index.zip(zip_file)
 		index.snapshot( function(dir_path,file_names)
 			zip_file.delete()