Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function indexStr(_string, _entity){
- var str = _string;
- var ent = _entity;
- redclient.lrange("searchIndex", 0, -1, function(err, result){
- if(result.indexOf(str)==-1){
- redclient.rpush("searchIndex", str);
- console.log("indexed keyword succesfully");
- }else console.log("keyword already indexed");
- });
- redclient.lrange("searchIndexOf"+str, 0, -1, function(err, result){
- if(result.indexOf(ent)==-1){
- redclient.rpush("searchIndexOf"+str, ent);
- console.log("indexed entity succesfully");
- }else console.log("entity already indexed");
- });
- }
- function searchByStr(schstring, callback){
- var strArr = [];
- strArr = schstring.split(" ");
- var res = [];
- var inid = 0;
- var outid = 0;
- console.log("SEARCHING FOR "+schstring);
- redclient.lrange("searchIndex", 0, -1, function(err, keys){
- for(var i=0; strArr.length>i; i++){
- console.log("Searching for: "+strArr[i]);
- for(var j=0; keys.length>j; j++){
- console.log("Looking at: "+keys[j]);
- var loweredKey = keys[j].toLowerCase();
- if(loweredKey.search(strArr[i].toLowerCase())!=-1 && strArr[i] != ""){
- inid = i;
- outid = j;
- redclient.lrange("searchIndexOf"+keys[j], 0, -1, function(err, values){
- console.log(strArr[inid]+" matches "+keys[outid]);
- for(var k=0; values.length>k; k++){
- res.push(values[k]);
- console.log("found "+values[k]+"!");
- if(i+2>strArr.length && j+2>keys.length && k+2>values.length) callback(res);
- }
- //res[0] = values[0];
- //console.log("found "+values[0]+"!");
- });
- }else{
- console.log("NOPE");
- if(i+2>strArr.length && j+2>keys.length) callback(res);
- }
- }
- }
- });
- //callback(res);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement