diff options
| author | pep <yes@peepee.me> | 2020-07-24 00:33:16 +0000 |
|---|---|---|
| committer | pep <yes@peepee.me> | 2020-07-24 00:33:16 +0000 |
| commit | 5ea73bbfba2f48659346f9e5f6aae9b4b618daa9 (patch) | |
| tree | 2d4cf737fe63931651cf1c35bb349fc97cad6b82 /bucky/search/search.js | |
| parent | 789dbb1e734885bd7cf5ad25f0d2f47765a13657 (diff) | |
good
Diffstat (limited to 'bucky/search/search.js')
| -rw-r--r-- | bucky/search/search.js | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/bucky/search/search.js b/bucky/search/search.js index 9891963..a4888ad 100644 --- a/bucky/search/search.js +++ b/bucky/search/search.js @@ -1,5 +1,5 @@ var db = require('../db') -var eachSeries = require('async/eachSeries'); +//var eachSeries = require('async/eachSeries'); var redisClient = require('./redis-client.js') const { promisify } = require("util"); const lookupAsync = promisify(redisClient.get).bind(redisClient); @@ -41,13 +41,13 @@ function search (query, start, limit, cb) { var file_ids = [] var results = [] - - eachSeries( - terms, - function(term, callback){ + var promise_terms = terms.map((term) => { + return new Promise((resolve, reject) => { if (STOPWORDS.has(term)) return; redisClient.get(term, function(err, results){ -// if (!results) return callback(); + if (err) { reject(err) } + if (!results) return resolve(); + results = split_results(results) results.forEach((result) => { @@ -59,10 +59,12 @@ function search (query, start, limit, cb) { score.strength += parseFloat(result.strength) score.count += 1 }) - callback() + resolve() }) - }, - function() { + }) + }) + Promise.all( promise_terms) + .then(() => { total = Object.keys(scores).length Object.values(scores).sort((b,a) => { return cmp(a.strength, b.strength) @@ -90,7 +92,7 @@ function search (query, start, limit, cb) { comment_ids: comment_ids, file_ids: file_ids, }); - }) + }) } |
