Mercurial Hosting > luan
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) |