diff lucene/src/luan/modules/lucene/Web_search.luan @ 544:c5a93767cc5c

lucene overhaul, untested
author Franklin Schmidt <fschmidt@gmail.com>
date Fri, 12 Jun 2015 19:11:44 -0600
parents 4362eb720da9
children ddcd4296107a
line wrap: on
line diff
--- a/lucene/src/luan/modules/lucene/Web_search.luan	Mon Jun 08 01:11:08 2015 -0400
+++ b/lucene/src/luan/modules/lucene/Web_search.luan	Fri Jun 12 19:11:44 2015 -0600
@@ -4,10 +4,6 @@
 local ipairs = Luan.ipairs
 local range = Luan.range
 local to_string = Luan.to_string
-local Number = require "luan:Number"
-local integer = Number.integer
-local long = Number.long
-local double = Number.double
 local Io = require "luan:Io"
 local Http = require "luan:http/Http"
 local String = require "luan:String"
@@ -31,8 +27,8 @@
 						<label>Query:</label>
 					</div>
 					<div colspan=10>
-						<input name="query" size="80" value="query.all_docs" autofocus />
-						<div textcolor="#888">Query examples: <i>query.term{ type = 'user' }</i> or <i>"type:user AND name:Joe"</i></div>
+						<input name="query" size="80" autofocus />
+						<div textcolor="#888">Query examples: <i>type:user</i> or <i>+type:user +name:Joe"</i></div>
 					</div>
 				</div>
 				<div row margin-top="1em">
@@ -49,7 +45,7 @@
 					</div>
 					<div colspan=10>
 						<input name="sort" size="60" />
-						<div textcolor="#888">Sort examples: sort{{ field = 'id', type='int' }}</div>
+						<div textcolor="#888">Sort examples: <i>name, id</i></div>
 					</div>
 				</div>
 				<div row margin-top="1em">
@@ -130,20 +126,13 @@
 
 	return function()
 		Io.stdout = Http.response.text_writer()
-		local query_string = Http.request.parameter.query
-		if query_string == nil then
+		local query = Http.request.parameter.query
+		if query == nil then
 			form()
 			return
 		end
-		local query_env = {
-			query=index.query;
-			integer=integer;
-			long=long;
-			double=double;
-		}
-		local query = load(query_string,"<query>",query_env,true)()
 		local rows = string_to_number(Http.request.parameter.rows)
-		local sort = load(Http.request.parameter.sort,"<sort>",{sort=index.query.sort},true)()
+		local sort = Http.request.parameter.sort
 		index.Searcher( function(searcher)
 			local results, length, total_hits = searcher.search(query,rows,sort)
 			local headers = {}