diff options
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, }); - }) + }) } |
