Mercurial Hosting > luan
comparison src/luan/modules/lucene/Lucene.luan @ 1392:002152af497a
hosted postgres
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Fri, 06 Sep 2019 00:19:47 -0600 |
parents | 94f48cc76de8 |
children | 9dfff82dfc59 |
comparison
equal
deleted
inserted
replaced
1391:94f48cc76de8 | 1392:002152af497a |
---|---|
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,completer) | 38 function Lucene.index(index_dir,default_type,default_fields,postgres_spec) |
39 type(index_dir)=="table" or error "index_dir must be table" | 39 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" | 40 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" | |
41 local index = {} | 42 local index = {} |
42 index.dir = index_dir | 43 index.dir = index_dir |
43 local java_index, closer = LuceneIndex.getLuceneIndex(index_dir.java.file,default_type,default_fields,completer) | 44 local java_index, closer = LuceneIndex.getLuceneIndex(index_dir.java.file,default_type,default_fields,postgres_spec) |
44 index.java = java_index | 45 index.java = java_index |
45 index.closer = closer or error() | 46 index.closer = closer or error() |
46 index.completer = completer | 47 index.completer = postgres_spec and postgres_spec.completer |
47 | 48 |
48 index.indexed_fields = {} | 49 index.indexed_fields = {} |
49 local mt = {} | 50 local mt = {} |
50 set_metatable(index.indexed_fields,mt) | 51 set_metatable(index.indexed_fields,mt) |
51 function mt.__index(_,key) | 52 function mt.__index(_,key) |