3
|
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 } )
|
|
20
|
14
|
21 Db.indexed_fields.server_discord_id = Lucene.type.string
|
13
|
22 Db.indexed_fields.server_owner_discord_id = Lucene.type.string
|
17
|
23 Db.indexed_fields.server_bumped = Lucene.type.long
|
13
|
24
|
3
|
25 function Db.not_in_transaction()
|
|
26 logger.error(new_error("not in transaction"))
|
|
27 end
|
|
28
|
|
29 if Http.is_serving then
|
|
30 Thread.schedule( Db.check, { delay=0, repeating_delay=Time.period{hours=1} } )
|
|
31 end
|
|
32
|
|
33 return Db
|