Merge remote-tracking branch 'upstream/skynet' into SEARCH-444

This commit is contained in:
Keerthi Niranjan 2017-11-24 13:15:02 +05:30
commit 384b114670

View File

@ -115,20 +115,20 @@ class Search {
indexBatch(messages) { indexBatch(messages) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
if (!messages) { if (!messages) {
log.send(logLevels.ERROR, 'Messages was not provided for batch indexing'); log.send(logLevels.ERROR, 'Batch Indexing: Messages not provided');
reject(new Error('Messages is required')); reject(new Error('Batch Indexing: Messages is required'));
return; return;
} }
try { try {
let msg = JSON.parse(messages); let msg = JSON.parse(messages);
if (!(msg instanceof Array)) { if (!(msg instanceof Array)) {
log.send(logLevels.ERROR, 'Message must be an array batch indexing'); log.send(logLevels.ERROR, 'Batch Indexing: Messages must be an array');
reject(new Error('Messages must be an array')); reject(new Error('Batch Indexing: Messages must be an array'));
return; return;
} }
} catch(e) { } catch(e) {
log.send(logLevels.ERROR, 'Batch indexing parse Error -> ' + e); log.send(logLevels.ERROR, 'Batch Indexing: parse error -> ' + e);
reject(new Error(e)); reject(new Error(e));
return; return;
} }
@ -142,7 +142,7 @@ class Search {
const indexId = randomString.generate(searchConfig.BATCH_RANDOM_INDEX_PATH_LENGTH); const indexId = randomString.generate(searchConfig.BATCH_RANDOM_INDEX_PATH_LENGTH);
libSymphonySearch.symSECreatePartialIndexAsync(this.batchIndex, indexId, messages, (err, res) => { libSymphonySearch.symSECreatePartialIndexAsync(this.batchIndex, indexId, messages, (err, res) => {
if (err) { if (err) {
log.send(logLevels.ERROR, 'Error indexing the batch ->' + err); log.send(logLevels.ERROR, 'Batch Indexing: error ->' + err);
reject(new Error(err)); reject(new Error(err));
return; return;
} }
@ -193,20 +193,19 @@ class Search {
* @param message * @param message
*/ */
realTimeIndexing(message) { realTimeIndexing(message) {
if (!message) { if (!message) {
log.send(logLevels.ERROR, 'Error message not provided for real-time indexing'); log.send(logLevels.ERROR, 'RealTime Indexing: Messages not provided');
return new Error('Message is required'); return new Error('RealTime Indexing: Messages is required');
} }
try { try {
let msg = JSON.parse(message); let msg = JSON.parse(message);
if (!(msg instanceof Array)) { if (!(msg instanceof Array)) {
log.send(logLevels.ERROR, 'Message must be an array real-time indexing'); log.send(logLevels.ERROR, 'RealTime Indexing: Messages must be an array real-time indexing');
return (new Error('Messages must be an array')); return (new Error('RealTime Indexing: Messages must be an array'));
} }
} catch(e) { } catch(e) {
log.send(logLevels.ERROR, 'Real-time indexing parse Error -> ' + e); log.send(logLevels.ERROR, 'RealTime Indexing: parse error -> ' + e);
return (new Error(e)); return (new Error(e));
} }
@ -219,7 +218,7 @@ class Search {
return libSymphonySearch.symSEIndexRealTimeAsync(this.realTimeIndex, message, (err, result) => { return libSymphonySearch.symSEIndexRealTimeAsync(this.realTimeIndex, message, (err, result) => {
this.isRealTimeIndexing = false; this.isRealTimeIndexing = false;
if (err) { if (err) {
log.send(logLevels.ERROR, 'Indexing the real-time data -> ' + err); log.send(logLevels.ERROR, 'RealTime Indexing: error -> ' + err);
return new Error(err); return new Error(err);
} }
return result; return result;
@ -309,18 +308,21 @@ class Search {
return; return;
} }
let sd = new Date().getTime() - searchConfig.SEARCH_PERIOD_SUBTRACTOR; let searchPeriod = new Date().getTime() - searchConfig.SEARCH_PERIOD_SUBTRACTOR;
let sd_time = searchConfig.MINIMUM_DATE; let startDateTime = searchPeriod;
if (startDate && startDate !== "" && typeof startDate === 'object') { if (startDate) {
sd_time = new Date(startDate).getTime(); startDateTime = new Date(parseInt(startDate, 10)).getTime();
if (sd_time >= sd) { if (!startDateTime || startDateTime < searchPeriod) {
sd_time = sd; startDateTime = searchPeriod;
} }
} }
let ed_time = searchConfig.MAXIMUM_DATE; let endDateTime = searchConfig.MAXIMUM_DATE;
if (endDate && endDate !== "" && typeof endDate === 'object') { if (endDate) {
ed_time = new Date(endDate).getTime(); let eTime = new Date(parseInt(endDate, 10)).getTime();
if (eTime) {
endDateTime = eTime;
}
} }
if (!_limit && _limit === "" && typeof _limit !== 'number' && Math.round(_limit) !== _limit) { if (!_limit && _limit === "" && typeof _limit !== 'number' && Math.round(_limit) !== _limit) {
@ -335,7 +337,7 @@ class Search {
_sortOrder = searchConfig.SORT_BY_SCORE; _sortOrder = searchConfig.SORT_BY_SCORE;
} }
const returnedResult = libSymphonySearch.symSESearch(this.indexFolderName, this.realTimeIndex, q, sd_time.toString(), ed_time.toString(), _offset, _limit, _sortOrder); const returnedResult = libSymphonySearch.symSESearch(this.indexFolderName, this.realTimeIndex, q, startDateTime.toString(), endDateTime.toString(), _offset, _limit, _sortOrder);
try { try {
let ret = returnedResult.readCString(); let ret = returnedResult.readCString();
resolve(JSON.parse(ret)); resolve(JSON.parse(ret));