Mercurial Hosting > luan
comparison lucene/src/luan/modules/lucene/Lucene.luan @ 435:5b36f663a1b8
make members lower case
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Sun, 03 May 2015 21:28:49 -0600 |
parents | cd2924a1052c |
children | 92c3d22745b8 |
comparison
equal
deleted
inserted
replaced
434:472fc70853cd | 435:5b36f663a1b8 |
---|---|
11 local BooleanClause = require "java:org.apache.lucene.search.BooleanClause" | 11 local BooleanClause = require "java:org.apache.lucene.search.BooleanClause" |
12 local Sort = require "java:org.apache.lucene.search.Sort" | 12 local Sort = require "java:org.apache.lucene.search.Sort" |
13 local SortField = require "java:org.apache.lucene.search.SortField" | 13 local SortField = require "java:org.apache.lucene.search.SortField" |
14 | 14 |
15 | 15 |
16 function Index(indexDir) | 16 function index(indexDir) |
17 local index = {} | 17 local index = {} |
18 local java_index = LuceneIndex.new(indexDir) | 18 local java_index = LuceneIndex.new(indexDir) |
19 index.fields = java_index.fields | 19 index.fields = java_index.fields.newTable() |
20 index.to_string = java_index.to_string | 20 index.to_string = java_index.to_string |
21 index.backup = java_index.backup | 21 index.backup = java_index.backup |
22 index.Writer = java_index.Writer | 22 index.Writer = java_index.Writer |
23 index.Searcher = java_index.Searcher | 23 index.Searcher = java_index.Searcher |
24 index.delete_all = java_index.delete_all | 24 index.delete_all = java_index.delete_all |
59 end ) | 59 end ) |
60 end | 60 end |
61 | 61 |
62 | 62 |
63 | 63 |
64 local Query = {} | 64 local queryTbl = {} |
65 index.Query = Query | 65 index.query = queryTbl |
66 | 66 |
67 Query.parse = java_index.parse | 67 queryTbl.parse = java_index.parse |
68 | 68 |
69 Query.all_docs = MatchAllDocsQuery.new() | 69 queryTbl.all_docs = MatchAllDocsQuery.new() |
70 | 70 |
71 function Query.term(t) | 71 function queryTbl.term(t) |
72 local iter = pairs(t) | 72 local iter = pairs(t) |
73 local field, value = iter() | 73 local field, value = iter() |
74 field and value or error "missing term" | 74 field and value or error "missing term" |
75 iter()==nil or error "only one term allowed" | 75 iter()==nil or error "only one term allowed" |
76 field = index.map_field_name(field) | 76 field = index.map_field_name(field) |
77 return TermQuery.new(Term.new(field,value)) | 77 return TermQuery.new(Term.new(field,value)) |
78 end | 78 end |
79 | 79 |
80 function Query.boolean(t) | 80 function queryTbl.boolean(t) |
81 local boolean_query = BooleanQuery.new() | 81 local boolean_query = BooleanQuery.new() |
82 for query, occur_string in pairs(t) do | 82 for query, occur_string in pairs(t) do |
83 local occur = BooleanClause.Occur.valueOf( occur_string.upper() ) | 83 local occur = BooleanClause.Occur.valueOf( occur_string.upper() ) |
84 boolean_query.add( query, occur ) | 84 boolean_query.add( query, occur ) |
85 end | 85 end |
86 return boolean_query | 86 return boolean_query |
87 end | 87 end |
88 | 88 |
89 -- and list | 89 -- and list |
90 function Query.all(t) | 90 function queryTbl.all(t) |
91 local bt = {} | 91 local bt = {} |
92 for key, query in pairs(t) do | 92 for key, query in pairs(t) do |
93 if type(key)=="string" then | 93 if type(key)=="string" then |
94 query = Query.term{[key]=query} | 94 query = queryTbl.term{[key]=query} |
95 end | 95 end |
96 bt[query] = "MUST" | 96 bt[query] = "MUST" |
97 end | 97 end |
98 return Query.boolean(bt) | 98 return queryTbl.boolean(bt) |
99 end | 99 end |
100 | 100 |
101 -- or list | 101 -- or list |
102 function Query.any(t) | 102 function queryTbl.any(t) |
103 local bt = {} | 103 local bt = {} |
104 for key, query in pairs(t) do | 104 for key, query in pairs(t) do |
105 if type(key)=="string" then | 105 if type(key)=="string" then |
106 query = Query.term{[key]=query} | 106 query = queryTbl.term{[key]=query} |
107 end | 107 end |
108 bt[query] = "SHOULD" | 108 bt[query] = "SHOULD" |
109 end | 109 end |
110 return Query.boolean(bt) | 110 return queryTbl.boolean(bt) |
111 end | 111 end |
112 | 112 |
113 | 113 |
114 function Query.sort(fields) | 114 function queryTbl.sort(fields) |
115 #fields > 0 or error "list of sort fields expected" | 115 #fields > 0 or error "list of sort fields expected" |
116 local a = {} | 116 local a = {} |
117 for _, f in ipairs(fields) do | 117 for _, f in ipairs(fields) do |
118 f.field or error "missing sort field" | 118 f.field or error "missing sort field" |
119 f.type or error "missing sort type" | 119 f.type or error "missing sort type" |