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