2
|
1 local Luan = require "luan:Luan.luan"
|
|
2 local error = Luan.error
|
|
3 local new_error = Luan.new_error or error()
|
|
4 local Lucene = require "luan:lucene/Lucene.luan"
|
|
5 local Io = require "luan:Io.luan"
|
|
6 local uri = Io.uri or error()
|
|
7 local Http = require "luan:http/Http.luan"
|
|
8 local Thread = require "luan:Thread.luan"
|
|
9 local Time = require "luan:Time.luan"
|
|
10 local Logging = require "luan:logging/Logging.luan"
|
|
11 local logger = Logging.logger "Db"
|
|
12
|
|
13
|
|
14 local dir = uri("site:/private/local/lucene")
|
|
15
|
|
16 local Db = Lucene.index( dir, {
|
|
17 log_dir = uri("site:/private/local/lucene_log")
|
|
18 name = "lucene"
|
|
19 version = 1
|
|
20 } )
|
|
21
|
|
22 Db.indexed_fields.user_email = Lucene.type.lowercase
|
|
23
|
|
24 function Db.not_in_transaction()
|
|
25 logger.error(new_error("not in transaction"))
|
|
26 end
|
|
27
|
|
28 Db.update{
|
|
29 }
|
|
30
|
|
31 if Http.is_serving then
|
|
32 Thread.schedule( Db.check, { delay=0, repeating_delay=Time.period{hours=1} } )
|
|
33 end
|
|
34
|
|
35 return Db
|