Mercurial Hosting > luan
diff lucene/src/luan/modules/lucene/Lucene.luan @ 707:1ed9e55f0be8
replace lucene.backup with lucene.zip implemented in luan, and add lucene.snapshot
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Wed, 18 May 2016 15:46:51 -0600 |
parents | ca169567ce07 |
children | 96a280ca32a2 |
line wrap: on
line diff
--- a/lucene/src/luan/modules/lucene/Lucene.luan Tue May 17 19:00:25 2016 -0600 +++ b/lucene/src/luan/modules/lucene/Lucene.luan Wed May 18 15:46:51 2016 -0600 @@ -4,6 +4,9 @@ local ipairs = Luan.ipairs or error() local type = Luan.type or error() local Html = require "luan:Html.luan" +local Io = require "luan:Io.luan" +local String = require "luan:String.luan" +local matches = String.matches or error() local LuceneIndex = require "java:luan.modules.lucene.LuceneIndex" local NumberFieldParser = require "java:sane.lucene.queryparser.NumberFieldParser" local StringFieldParser = require "java:sane.lucene.queryparser.StringFieldParser" @@ -35,7 +38,8 @@ index.indexed_only_fields = java_index.indexed_only_fields index.to_string = java_index.to_string - index.backup = java_index.backup +-- 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 index.delete_all = java_index.delete_all @@ -87,6 +91,17 @@ end end + function index.zip(zip_file) + matches(zip_file,[[\.zip$]]) or error("file "..zip_file.." doesn't end with '.zip'") + index.snapshot( function(dir,file_names) + local t = {} + for _, file_name in ipairs(file_names) do + t[file_name] = "file:"..dir.."/"..file_name + end + Io.zip(zip_file,t) + end ) + end + return index end