comparison src/luan/modules/lucene/Lucene.luan @ 1395:9dfff82dfc59

finish postgres work
author Franklin Schmidt <fschmidt@gmail.com>
date Mon, 09 Sep 2019 01:22:23 -0600
parents 002152af497a
children 0dc9837c16be
comparison
equal deleted inserted replaced
1394:8fe777ba5045 1395:9dfff82dfc59
33 double = NumberFieldParser.DOUBLE 33 double = NumberFieldParser.DOUBLE
34 } 34 }
35 35
36 Lucene.literal = SaneQueryParser.literal 36 Lucene.literal = SaneQueryParser.literal
37 37
38 function Lucene.index(index_dir,default_type,default_fields,postgres_spec) 38 -- function Lucene.index(index_dir,default_type,default_fields)
39
40 function Lucene.index(index_dir,options)
39 type(index_dir)=="table" or error "index_dir must be table" 41 type(index_dir)=="table" or error "index_dir must be table"
40 index_dir.to_uri_string and matches(index_dir.to_uri_string(),"^file:") or error "must be file" 42 index_dir.to_uri_string and matches(index_dir.to_uri_string(),"^file:") or error "must be file"
41 postgres_spec==nil or type(postgres_spec)=="table" or error "postgres_spec must be table" 43 options = options or {}
44 options.postgres_spec==nil or type(options.postgres_spec)=="table" or error "postgres_spec must be table"
45 options.completer==nil or type(options.completer)=="function" or error "completer must be table"
42 local index = {} 46 local index = {}
43 index.dir = index_dir 47 index.dir = index_dir
44 local java_index, closer = LuceneIndex.getLuceneIndex(index_dir.java.file,default_type,default_fields,postgres_spec) 48 local java_index, closer = LuceneIndex.getLuceneIndex(index_dir.java.file,options.default_type,options.default_fields,options.completer,options.postgres_spec)
45 index.java = java_index 49 index.java = java_index
46 index.closer = closer or error() 50 index.closer = closer or error()
47 index.completer = postgres_spec and postgres_spec.completer 51 index.completer = options.completer
48 52
49 index.indexed_fields = {} 53 index.indexed_fields = {}
50 local mt = {} 54 local mt = {}
51 set_metatable(index.indexed_fields,mt) 55 set_metatable(index.indexed_fields,mt)
52 function mt.__index(_,key) 56 function mt.__index(_,key)