Pred-compile RegExp za ime, priimek, ulica tako, da se prevod pripravi samo enkrat, namesto vsakič sproti. To pospeši delovanje iz 5 na sekundo na 10 na sekundo.
This commit is contained in:
@ -1 +1 @@
|
||||
b74c72c828e11bcf14ba6fc84421b2ec
|
||||
4017f71f0d5a1443c011e50b823f5ad0
|
54
dist/routes/filter.js
vendored
54
dist/routes/filter.js
vendored
@ -15,13 +15,34 @@ var FilterRoute = (function (_super) {
|
||||
var _this = this;
|
||||
console.log("[FilterRoute::create] Creating filter route.");
|
||||
this.client.lrange('imena', 0, -1, function (err, result) {
|
||||
_this.seznamImen = result;
|
||||
result.forEach(function (ime) {
|
||||
FilterRoute.seznamImen.push(new RegExp('\\b' + ime
|
||||
.replace(/č/g, 'c')
|
||||
.replace(/š/g, 's')
|
||||
.replace(/ž/g, 'z')
|
||||
.replace(/đ/g, 'd')
|
||||
.replace(/ć/g, 'c') + '\\b', 'gi'));
|
||||
});
|
||||
});
|
||||
this.client.lrange('priimki', 0, -1, function (err, result) {
|
||||
_this.seznamPriimkov = result;
|
||||
result.forEach(function (priimek) {
|
||||
FilterRoute.seznamPriimkov.push(new RegExp('\\b' + priimek
|
||||
.replace(/č/g, 'c')
|
||||
.replace(/š/g, 's')
|
||||
.replace(/ž/g, 'z')
|
||||
.replace(/đ/g, 'd')
|
||||
.replace(/ć/g, 'c') + '\\b', 'gi'));
|
||||
});
|
||||
});
|
||||
this.client.lrange('ulice', 0, -1, function (err, result) {
|
||||
_this.seznamUlic = result;
|
||||
result.forEach(function (ulica) {
|
||||
FilterRoute.seznamUlic.push(new RegExp('\\b' + ulica
|
||||
.replace(/č/g, 'c')
|
||||
.replace(/š/g, 's')
|
||||
.replace(/ž/g, 'z')
|
||||
.replace(/đ/g, 'd')
|
||||
.replace(/ć/g, 'c') + '\\b', 'gi'));
|
||||
});
|
||||
});
|
||||
this.client.lrange('filtri', 0, -1, function (err, result) {
|
||||
_this.seznamFiltrov = result;
|
||||
@ -121,19 +142,12 @@ var FilterRoute = (function (_super) {
|
||||
}
|
||||
});
|
||||
FilterRoute.seznamImen.forEach(function (ime) {
|
||||
var re = new RegExp('\\b' + ime
|
||||
.replace(/č/g, 'c')
|
||||
.replace(/š/g, 's')
|
||||
.replace(/ž/g, 'z')
|
||||
.replace(/đ/g, 'd')
|
||||
.replace(/ć/g, 'c')
|
||||
+ '\\b', 'gi');
|
||||
if (niz.toLowerCase().replace(/č/g, 'c')
|
||||
.replace(/š/g, 's')
|
||||
.replace(/ž/g, 'z')
|
||||
.replace(/đ/g, 'd')
|
||||
.replace(/ć/g, 'c')
|
||||
.search(re) != -1) {
|
||||
.search(ime) != -1) {
|
||||
odgovor.vsebujeIme++;
|
||||
opNajdeni++;
|
||||
FilterRoute.client.incr('stats:vsebujeIme', function (err, result) {
|
||||
@ -144,19 +158,12 @@ var FilterRoute = (function (_super) {
|
||||
}
|
||||
});
|
||||
FilterRoute.seznamPriimkov.forEach(function (priimek) {
|
||||
var re = new RegExp('\\b' + priimek
|
||||
.replace(/č/g, 'c')
|
||||
.replace(/š/g, 's')
|
||||
.replace(/ž/g, 'z')
|
||||
.replace(/đ/g, 'd')
|
||||
.replace(/ć/g, 'c')
|
||||
+ '\\b', 'gi');
|
||||
if (niz.toLowerCase().replace(/č/g, 'c')
|
||||
.replace(/š/g, 's')
|
||||
.replace(/ž/g, 'z')
|
||||
.replace(/đ/g, 'd')
|
||||
.replace(/ć/g, 'c')
|
||||
.search(re) != -1) {
|
||||
.search(priimek) != -1) {
|
||||
odgovor.vsebujePriimek++;
|
||||
opNajdeni++;
|
||||
FilterRoute.client.incr('stats:vsebujePriimek', function (err, result) {
|
||||
@ -167,19 +174,12 @@ var FilterRoute = (function (_super) {
|
||||
}
|
||||
});
|
||||
FilterRoute.seznamUlic.forEach(function (ulica) {
|
||||
var re = new RegExp('\\b' + ulica
|
||||
.replace(/č/g, 'c')
|
||||
.replace(/š/g, 's')
|
||||
.replace(/ž/g, 'z')
|
||||
.replace(/đ/g, 'd')
|
||||
.replace(/ć/g, 'c')
|
||||
+ '\\b', 'gi');
|
||||
if (niz.toLowerCase().replace(/č/g, 'c')
|
||||
.replace(/š/g, 's')
|
||||
.replace(/ž/g, 'z')
|
||||
.replace(/đ/g, 'd')
|
||||
.replace(/ć/g, 'c')
|
||||
.search(re) != -1) {
|
||||
.search(ulica) != -1) {
|
||||
odgovor.vsebujeUlico++;
|
||||
opNajdeni++;
|
||||
FilterRoute.client.incr('stats:vsebujeUlico', function (err, result) {
|
||||
|
@ -13,9 +13,9 @@ export class FilterRoute extends BaseRoute {
|
||||
|
||||
public static client: RedisClient = redis.createClient();
|
||||
|
||||
public static seznamImen: string[] = [];
|
||||
public static seznamPriimkov: string[] = [];
|
||||
public static seznamUlic: string[] = [];
|
||||
public static seznamImen: any[] = [];
|
||||
public static seznamPriimkov: any[] = [];
|
||||
public static seznamUlic: any[] = [];
|
||||
public static seznamOblik: string[] = [];
|
||||
public static seznamFiltrov: string[] = [];
|
||||
|
||||
@ -31,15 +31,36 @@ export class FilterRoute extends BaseRoute {
|
||||
console.log("[FilterRoute::create] Creating filter route.");
|
||||
|
||||
this.client.lrange('imena', 0, -1, (err, result) => {
|
||||
this.seznamImen = result;
|
||||
result.forEach(function(ime) {
|
||||
FilterRoute.seznamImen.push(new RegExp('\\b'+ime
|
||||
.replace(/č/g, 'c')
|
||||
.replace(/š/g, 's')
|
||||
.replace(/ž/g, 'z')
|
||||
.replace(/đ/g, 'd')
|
||||
.replace(/ć/g, 'c')+'\\b', 'gi'));
|
||||
})
|
||||
});
|
||||
|
||||
this.client.lrange('priimki', 0, -1, (err, result) => {
|
||||
this.seznamPriimkov = result;
|
||||
result.forEach(function(priimek) {
|
||||
FilterRoute.seznamPriimkov.push(new RegExp('\\b'+priimek
|
||||
.replace(/č/g, 'c')
|
||||
.replace(/š/g, 's')
|
||||
.replace(/ž/g, 'z')
|
||||
.replace(/đ/g, 'd')
|
||||
.replace(/ć/g, 'c')+'\\b', 'gi'))
|
||||
})
|
||||
});
|
||||
|
||||
this.client.lrange('ulice', 0, -1, (err, result) => {
|
||||
this.seznamUlic = result;
|
||||
result.forEach(function(ulica) {
|
||||
FilterRoute.seznamUlic.push(new RegExp('\\b'+ulica
|
||||
.replace(/č/g, 'c')
|
||||
.replace(/š/g, 's')
|
||||
.replace(/ž/g, 'z')
|
||||
.replace(/đ/g, 'd')
|
||||
.replace(/ć/g, 'c')+'\\b', 'gi'))
|
||||
})
|
||||
});
|
||||
|
||||
this.client.lrange('filtri', 0, -1, (err, result) => {
|
||||
@ -192,19 +213,12 @@ export class FilterRoute extends BaseRoute {
|
||||
|
||||
/* preverimo ali niz vsebuje ime */
|
||||
FilterRoute.seznamImen.forEach(function(ime) {
|
||||
var re = new RegExp('\\b'+ime
|
||||
.replace(/č/g, 'c')
|
||||
.replace(/š/g, 's')
|
||||
.replace(/ž/g, 'z')
|
||||
.replace(/đ/g, 'd')
|
||||
.replace(/ć/g, 'c')
|
||||
+'\\b', 'gi');
|
||||
if(niz.toLowerCase().replace(/č/g, 'c')
|
||||
.replace(/š/g, 's')
|
||||
.replace(/ž/g, 'z')
|
||||
.replace(/đ/g, 'd')
|
||||
.replace(/ć/g, 'c')
|
||||
.search(re) != -1) {
|
||||
.search(ime) != -1) {
|
||||
odgovor.vsebujeIme++;
|
||||
opNajdeni++;
|
||||
FilterRoute.client.incr('stats:vsebujeIme', function(err, result) {
|
||||
@ -216,19 +230,12 @@ export class FilterRoute extends BaseRoute {
|
||||
});
|
||||
|
||||
FilterRoute.seznamPriimkov.forEach(function(priimek) {
|
||||
var re = new RegExp('\\b'+priimek
|
||||
.replace(/č/g, 'c')
|
||||
.replace(/š/g, 's')
|
||||
.replace(/ž/g, 'z')
|
||||
.replace(/đ/g, 'd')
|
||||
.replace(/ć/g, 'c')
|
||||
+'\\b', 'gi');
|
||||
if(niz.toLowerCase().replace(/č/g, 'c')
|
||||
.replace(/š/g, 's')
|
||||
.replace(/ž/g, 'z')
|
||||
.replace(/đ/g, 'd')
|
||||
.replace(/ć/g, 'c')
|
||||
.search(re) != -1) {
|
||||
.search(priimek) != -1) {
|
||||
odgovor.vsebujePriimek++;
|
||||
opNajdeni++;
|
||||
FilterRoute.client.incr('stats:vsebujePriimek', function(err, result) {
|
||||
@ -240,19 +247,12 @@ export class FilterRoute extends BaseRoute {
|
||||
});
|
||||
|
||||
FilterRoute.seznamUlic.forEach(function(ulica) {
|
||||
var re = new RegExp('\\b'+ulica
|
||||
.replace(/č/g, 'c')
|
||||
.replace(/š/g, 's')
|
||||
.replace(/ž/g, 'z')
|
||||
.replace(/đ/g, 'd')
|
||||
.replace(/ć/g, 'c')
|
||||
+'\\b', 'gi');
|
||||
if(niz.toLowerCase().replace(/č/g, 'c')
|
||||
.replace(/š/g, 's')
|
||||
.replace(/ž/g, 'z')
|
||||
.replace(/đ/g, 'd')
|
||||
.replace(/ć/g, 'c')
|
||||
.search(re) != -1) {
|
||||
.search(ulica) != -1) {
|
||||
odgovor.vsebujeUlico++;
|
||||
opNajdeni++;
|
||||
FilterRoute.client.incr('stats:vsebujeUlico', function(err, result) {
|
||||
|
Reference in New Issue
Block a user