diff --git a/lib/search.js b/lib/search.js index 4a5c762..d4c7756 100644 --- a/lib/search.js +++ b/lib/search.js @@ -24,7 +24,7 @@ export default class Searcher{ createIndex(fileArr){ this.miniSearch = new MiniSearch({ fields: ['name', 'category', 'type'], - storeFields: ['filename', 'category', 'type', 'date', 'size', 'region'], + storeFields: ['filename', 'category', 'type', 'date', 'size', 'region', 'path'], searchOptions: { boost: { name: 2 }, fuzzy: this.distance, diff --git a/server.js b/server.js index 7c07182..6fb8986 100644 --- a/server.js +++ b/server.js @@ -12,7 +12,6 @@ var fileListPath = './filelist.json' var categoryListPath = './lib/categories.json' var categoryList = await parseJsonFile(categoryListPath) var crawlTime = await fileTime(fileListPath) -console.log(crawlTime) var fileList = [] @@ -61,6 +60,19 @@ app.get('/search', function(req, res) { }) }) +app.get("/lucky", function(req, res) { + let results = search.findAllMatches(req.query.q) + if(process.env.DEBUG == "1"){ + console.log(results) + } + if(results.items.length){ + res.redirect(results.items[0].path) + } + else{ + res.redirect("/") + } +}) + server.listen(process.env.PORT, process.env.BIND_ADDRESS) server.on('listening', function() { console.log('Server started on %s:%s.', server.address().address, server.address().port) diff --git a/views/pages/search.ejs b/views/pages/search.ejs index 403fad2..2317c88 100644 --- a/views/pages/search.ejs +++ b/views/pages/search.ejs @@ -10,11 +10,11 @@ _ / / / _ /_/ /_ / _ / / __/ / / / /_ Search!