comparison 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
comparison
equal deleted inserted replaced
706:30c87c859277 707:1ed9e55f0be8
2 local Luan = require "luan:Luan.luan" 2 local Luan = require "luan:Luan.luan"
3 local error = Luan.error 3 local error = Luan.error
4 local ipairs = Luan.ipairs or error() 4 local ipairs = Luan.ipairs or error()
5 local type = Luan.type or error() 5 local type = Luan.type or error()
6 local Html = require "luan:Html.luan" 6 local Html = require "luan:Html.luan"
7 local Io = require "luan:Io.luan"
8 local String = require "luan:String.luan"
9 local matches = String.matches or error()
7 local LuceneIndex = require "java:luan.modules.lucene.LuceneIndex" 10 local LuceneIndex = require "java:luan.modules.lucene.LuceneIndex"
8 local NumberFieldParser = require "java:sane.lucene.queryparser.NumberFieldParser" 11 local NumberFieldParser = require "java:sane.lucene.queryparser.NumberFieldParser"
9 local StringFieldParser = require "java:sane.lucene.queryparser.StringFieldParser" 12 local StringFieldParser = require "java:sane.lucene.queryparser.StringFieldParser"
10 local SaneQueryParser = require "java:sane.lucene.queryparser.SaneQueryParser" 13 local SaneQueryParser = require "java:sane.lucene.queryparser.SaneQueryParser"
11 local Version = require "java:org.apache.lucene.util.Version" 14 local Version = require "java:org.apache.lucene.util.Version"
33 36
34 -- index.indexed_only_fields[type][field] = fn(doc) 37 -- index.indexed_only_fields[type][field] = fn(doc)
35 index.indexed_only_fields = java_index.indexed_only_fields 38 index.indexed_only_fields = java_index.indexed_only_fields
36 39
37 index.to_string = java_index.to_string 40 index.to_string = java_index.to_string
38 index.backup = java_index.backup 41 -- index.backup = java_index.backup
42 index.snapshot = java_index.snapshot
39 index.advanced_search = java_index.advanced_search 43 index.advanced_search = java_index.advanced_search
40 index.search_in_transaction = java_index.search_in_transaction 44 index.search_in_transaction = java_index.search_in_transaction
41 index.delete_all = java_index.delete_all 45 index.delete_all = java_index.delete_all
42 index.delete = java_index.delete 46 index.delete = java_index.delete
43 index.save = java_index.save 47 index.save = java_index.save
85 end 89 end
86 return Html.to_string(result) 90 return Html.to_string(result)
87 end 91 end
88 end 92 end
89 93
94 function index.zip(zip_file)
95 matches(zip_file,[[\.zip$]]) or error("file "..zip_file.." doesn't end with '.zip'")
96 index.snapshot( function(dir,file_names)
97 local t = {}
98 for _, file_name in ipairs(file_names) do
99 t[file_name] = "file:"..dir.."/"..file_name
100 end
101 Io.zip(zip_file,t)
102 end )
103 end
104
90 return index 105 return index
91 end 106 end
92 107
93 return M 108 return M