| | |
| | | //esSize := strconv.Itoa(webSize) |
| | | size := strconv.Itoa(webSize) |
| | | //请求索引 |
| | | index := config.EsInfo.EsIndex.VideoPersons.IndexName + "," + config.EsInfo.EsIndex.Personaction.IndexName |
| | | index := config.EsInfo.EsIndex.AiOcean.IndexName |
| | | queryStr := "" |
| | | queryBody := searchBody.InputValue |
| | | //检索框 |
| | | if queryBody != "" { |
| | | queryStr = "\"must\":[{\"multi_match\":{\"query\":\"" + queryBody + "\",\"fields\":[\"baseInfo.sex\",\"baseInfo.phoneNum^1.5\",\"baseInfo.personName^1.5\",\"alarmRules.alarmLevel^1.5\",\"alarmRules.linkInfo^1.5\",\"ageDescription^1.5\",\"taskName^1.5\",\"baseInfo.tableName^1.0\",\"sex^2.0\",\"race^2.0\",\"content^1.0\",\"baseInfo.idCard^1.8\",\"cameraAddr^2.0\",\"sdkName^1.5\",\"linkTag\",\"linkTagInfo.baseInfo.sex\",\"linkTagInfo.baseInfo.phoneNum^1.5\",\"linkTagInfo.baseInfo.personName^1.5\",\"linkTagInfo.alarmRules.alarmLevel^1.5\",\"linkTagInfo.alarmRules.linkInfo^1.5\",\"linkTagInfo.ageDescription^1.5\",\"linkTagInfo.taskName^1.5\",\"linkTagInfo.baseInfo.tableName^1.0\",\"linkTagInfo.sex^2.0\",\"linkTagInfo.race^2.0\",\"linkTagInfo.content^1.0\",\"linkTagInfo.baseInfo.idCard^1.8\",\"linkTagInfo.cameraAddr^2.0\",\"linkTagInfo.sdkName^1.5\"]," + |
| | | queryStr = "\"must\":[{\"multi_match\":{\"query\":\"" + queryBody + "\",\"fields\":[\"cameraAddr^1.5\",\"taskName^1.5\",\"sdkName^1.5\",\"showLabels^3.0\",\"baseInfo.tableName^1.5\",\"baseInfo.targetName^1.5\",\"baseInfo.labels^1.5\",\"alarmRules.alarmLevel^1.5\",\"linkTag^1.5\",\"linkTagInfo.cameraAddr\",\"linkTagInfo.taskName^1.5\",\"linkTagInfo.sdkName^1.5\",\"linkTagInfo.showLabels^1.5\",\"linkTagInfo.baseInfo.tableName^1.5\",\"linkTagInfo.baseInfo.targetName^1.5\",\"linkTagInfo.baseInfo.labels^1.5\",\"linkTagInfo.alarmRules.alarmLevel^1.5\"]," + |
| | | "\"type\":\"cross_fields\",\"operator\":\"OR\",\"slop\":0,\"prefix_length\":0,\"max_expansions\":50,\"zero_terms_query\":\"NONE\",\"auto_generate_synonyms_phrase_query\":true,\"fuzzy_transpositions\":true,\"boost\":1}}]," |
| | | } |
| | | |
| | |
| | | gteDate := searchTime[0] |
| | | lteDate := searchTime[1] |
| | | |
| | | //判断人员ID |
| | | personIdStr := "" |
| | | //判断数据ID |
| | | idStr := "" |
| | | linkTagInfoIdStr :="" |
| | | //personId := searchBody.Id |
| | | personId := []string{} |
| | | if personId != nil && len(personId) > 0 { |
| | | esPersonId := strings.Replace(strings.Trim(fmt.Sprint(personId), "[]"), " ", "\",\"", -1) |
| | | personIdStr = "{\"terms\":{\"id\":[\"" + esPersonId + "\"]}}," |
| | | id := []string{} |
| | | if id != nil && len(id) > 0 { |
| | | esId := strings.Replace(strings.Trim(fmt.Sprint(id), "[]"), " ", "\",\"", -1) |
| | | idStr = "{\"terms\":{\"id\":[\"" + esId + "\"]}}," |
| | | linkTagInfoIdStr = "{\"terms\":{\"linkTagInfo.id\":[\"" + esId + "\"]}}," |
| | | } |
| | | |
| | | //判断任务ID |
| | | taskIdStr := "" |
| | | linkTagInfoTaskIdStr := "" |
| | | taskId := searchBody.Tasks |
| | | if taskId != nil && len(taskId) > 0 { |
| | | esTaskId := strings.Replace(strings.Trim(fmt.Sprint(taskId), "[]"), " ", "\",\"", -1) |
| | | taskIdStr = "{\"terms\":{\"taskId\":[\"" + esTaskId + "\"]}}," |
| | | linkTagInfoTaskIdStr = "{\"terms\":{\"linkTagInfo.taskId\":[\"" + esTaskId + "\"]}}," |
| | | } |
| | | |
| | | //判断摄像机ID |
| | | cameraIdStr := "" |
| | | linkTagInfoCameraIdStr := "" |
| | | cameraId := searchBody.TreeNodes |
| | | if cameraId != nil && len(cameraId) > 0 { |
| | | esCameraId := strings.Replace(strings.Trim(fmt.Sprint(cameraId), "[]"), " ", "\",\"", -1) |
| | | cameraIdStr = "{\"terms\":{\"cameraId\":[\"" + esCameraId + "\"]}}," |
| | | linkTagInfoCameraIdStr = "{\"terms\":{\"linkTagInfo.cameraId\":[\"" + esCameraId + "\"]}}," |
| | | } |
| | | |
| | | //判断库表ID |
| | | tableId := searchBody.Tabs |
| | | esTableId := "" |
| | | esTableIdStr := "" |
| | | linkTagInfoEsTableIdStr := "" |
| | | if tableId != nil && len(tableId) > 0 { |
| | | esTableId = strings.Replace(strings.Trim(fmt.Sprint(tableId), "[]"), " ", "\",\"", -1) |
| | | index = config.EsInfo.EsIndex.VideoPersons.IndexName |
| | | esTableIdStr = "{\"terms\":{\"baseInfo.tableId\":[\"" + esTableId + "\"]}}," |
| | | linkTagInfoEsTableIdStr = "{\"terms\":{\"linkTagInfo.baseInfo.tableId\":[\"" + esTableId + "\"]}}," |
| | | } |
| | | //判断收藏状态 |
| | | isCollectStr := "" |
| | | linkTagInfoIsCollectStr := "" |
| | | isCollect := searchBody.Collection |
| | | if isCollect != "" { |
| | | isCollectStr = "{\"term\":{\"isCollect\":\"" + isCollect + "\"}}," |
| | | isCollectStr = "{\"term\":{\"isCollect\":" + isCollect + "}}," |
| | | linkTagInfoIsCollectStr = "{\"term\":{\"linkTagInfo.isCollect\":" + isCollect + "}}," |
| | | } |
| | | //判断布防等级id |
| | | alarmLevelId := searchBody.AlarmLevel |
| | | alarmLevelStr := "" |
| | | linkTagInfoAlarmLevelStr := "" |
| | | if len(alarmLevelId) > 0 { |
| | | alarmLevelTypes := strings.Replace(strings.Trim(fmt.Sprint(getAlarmLevel(alarmLevelId)), "[]"), " ", "\",\"", -1) |
| | | alarmLevelStr = "{\"terms\":{\"alarmRules.alarmLevel\":[\"" + alarmLevelTypes + "\"]}}," |
| | | linkTagInfoAlarmLevelStr = "{\"terms\":{\"linkTagInfo.alarmRules.alarmLevel\":[\"" + alarmLevelTypes + "\"]}}," |
| | | } |
| | | |
| | | //使用es底层机制处理分页 |
| | |
| | | "/" + index + "/_search?search_type=dfs_query_then_fetch" |
| | | |
| | | analyServerFilterStr := "{\"term\":{\"analyServerId\":\"" + localConf.ServerId + "\"}}," |
| | | linkTagInfoAnalyServerFilterStr := "{\"term\":{\"linkTagInfo.analyServerId\":\"" + localConf.ServerId + "\"}}," |
| | | |
| | | //请求体 |
| | | prama := "{\"from\":\"" + from + "\"," + |
| | | "\"size\":\"" + size + "\"," + |
| | | "\"query\":{\"bool\":{" + queryStr + |
| | | "\"filter\":[" + |
| | | "\"should\":[" + |
| | | "{\"bool\":{\"filter\":[" + |
| | | cameraIdStr + |
| | | alarmLevelStr + |
| | | personIdStr + |
| | | idStr + |
| | | taskIdStr + |
| | | isCollectStr + |
| | | esTableIdStr + |
| | | analyServerFilterStr + |
| | | "{\"range\":{\"picDate\":{\"from\":\"" + gteDate + "\",\"to\":\"" + lteDate + "\",\"include_lower\":true,\"include_upper\":true,\"boost\":1}}}]}}," + |
| | | "{\"range\":{\"picDate\":{\"from\":\"" + gteDate + "\",\"to\":\"" + lteDate + "\",\"include_lower\":true,\"include_upper\":true,\"boost\":1}}}"+ |
| | | "]}}," + |
| | | "{\"bool\":{\"filter\":[" + |
| | | linkTagInfoCameraIdStr + |
| | | linkTagInfoAlarmLevelStr + |
| | | linkTagInfoIdStr + |
| | | linkTagInfoTaskIdStr + |
| | | linkTagInfoIsCollectStr + |
| | | linkTagInfoEsTableIdStr + |
| | | linkTagInfoAnalyServerFilterStr + |
| | | "{\"range\":{\"linkTagInfo.picDate\":{\"from\":\"" + gteDate + "\",\"to\":\"" + lteDate + "\",\"include_lower\":true,\"include_upper\":true,\"boost\":1}}}"+ |
| | | "]}}" + |
| | | "]," + |
| | | "\"sort\":[{\"_score\":{\"order\":\"desc\"}},{\"picDate\":{\"order\":\"desc\"}}]," + |
| | | "\"_source\":[\"baseInfo\",\"alarmRules\",\"sex\",\"analyServerName\",\"sdkName\",\"ageDescription\",\"content\",\"id\",\"cameraAddr\",\"picMaxUrl\",\"picDate\",\"race\",\"videoUrl\",\"picSmUrl\",\"taskName\",\"isAlarm\",\"analyServerIp\",\"cameraId\",\"linkTag\",\"linkTagInfo\"]" + |
| | | "\"_source\":{\"includes\":[],\"excludes\":[\"*.feature\"]}" + |
| | | "}" |
| | | //logger.Debug("findEsData.param:",prama) |
| | | //数据解析 |