node操作es的查詢語句
阿新 • • 發佈:2018-12-23
exports.getIPSList=function (req, res, next){ //定義變數 var objELkRequestBody= new ELk_requestbody.ELK_RequestBody(); //接受並響應 objELkRequestBody.RequestParamAnalysis(req,res,next); //設定查詢的庫和表 objELkRequestBody.SetESIndex("ssa_envents*").SetESType("nsec"); //設定精準查詢 objELkRequestBody.SetQueryKey( //設定精確查詢 { "program":"IPS" } ); //精準查詢 if(req.query.search){ objELkRequestBody.SetQueryKey(req.query.search) } //設定排序 if(req.query.sort) objELkRequestBody.SetSortField(req.query.sort); //設定排序 objELkRequestBody.SetSortField({"@timestamp":"desc"}); // 預設按照時間戳排序 //設定分頁查詢 objELkRequestBody.SetPagingCfg(req.query.page,req.query.size); //設定分頁 //設定時間範圍 objELkRequestBody.SetTimeRange( req.query.begTime,req.query.endTime); //設定時間範圍 //模糊查詢 查詢體 if(req.query.search){ objELkRequestBody.SetQueryString(req.query.search); //設定模糊查詢 } //查詢完成以後進行封裝傳送給前臺 //傳送請求獲得響應體並封裝 objELkRequestBody.SendELKRequest(req,res, function (err, resp){ //如果有錯誤的話就列印錯誤 if (err) { console.trace(err.message);} //否則就輸出 else { //console.log(JSON.stringify(result)); if (resp.hits.hits.length <= 0){ var logUtil = require('../../../tools/LogUtil'); return logUtil.getLatestLog(req, res, objELkRequestBody); } var res_data = config.res_data(0); var hits = resp.hits.hits; res_data.data.total = resp.hits.total; var data = []; for(var i in hits){ data.push(hits[i]) } res_data.data.rows = data; config.cr_res_json( req, res,res_data); } }); };
裡邊涉及到模糊查詢與精準查詢