summaryrefslogtreecommitdiff
path: root/bucky/search/search.js
diff options
context:
space:
mode:
Diffstat (limited to 'bucky/search/search.js')
-rw-r--r--bucky/search/search.js22
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,
});
- })
+ })
}