Mercurial Hosting > luan
diff src/luan/modules/lucene/Web_search.luan @ 1573:c6b50b7b958c
lucene/Web_search improvement
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Sat, 12 Dec 2020 21:01:04 -0700 |
parents | f7649ad6e3e7 |
children | 4d70e9543ef2 |
line wrap: on
line diff
--- a/src/luan/modules/lucene/Web_search.luan Thu Dec 10 20:23:45 2020 -0700 +++ b/src/luan/modules/lucene/Web_search.luan Sat Dec 12 21:01:04 2020 -0700 @@ -15,6 +15,8 @@ local Number = require "luan:Number.luan" local Table = require "luan:Table.luan" local size = Table.size or error() +local Logging = require "luan:logging/Logging.luan" +local logger = Logging.logger "lucene/Web_search" local Web_search = {} @@ -108,11 +110,38 @@ return n end +local function failed(e) + logger.info(e) + --logger.info(stringify(e)) + local msg = e.get_message() +%> +<!doctype html> +<html> + <head> + <title>Lucene</title> + <style> +<% style() %> + </style> + </head> + <body> + <h2>Query Failed</h2> + <pre><%=msg%></pre> + </body> +</html> +<% +end + local function result(index) local query = Http.request.parameters.query local rows = string_to_number(Http.request.parameters.rows) local sort = Http.request.parameters.sort - local results = index.search(query,1,rows,{sort=sort}) + local results + try + results = index.search(query,1,rows,{sort=sort}) + catch e + failed(e) + return + end local headers = {} local table = {} for _, doc in ipairs(results) do