Browse Source

jsondata分值相等,优先选举打过分

fengweiqiang 6 years ago
parent
commit
48199228c8
3 changed files with 20 additions and 9 deletions
  1. 1 1
      src/jy/admin/track/track.go
  2. 18 7
      src/jy/extract/score_jsondata.go
  3. 1 1
      src/jy/pretreated/tablev2.go

+ 1 - 1
src/jy/admin/track/track.go

@@ -58,7 +58,7 @@ func GetTrackPath(_id, field, table, resultcoll string) map[string]interface{} {
 	//针对lua抽取kv路径拆分
 	luatracks := map[string][]map[string]interface{}{}
 	for k, v := range tracks {
-		if strings.Contains(k, "CL") {
+		if strings.Contains(k, "CL") ||strings.Contains(k, "JsonData"){
 			track, _ := v.([]map[string]interface{})
 			for _, val := range track { //按code,kvtype,matchtype分组
 				code := k + "_" + qu.ObjToString(val["kvtype"]) + "_" + qu.ObjToString(val["matchtype"])

+ 18 - 7
src/jy/extract/score_jsondata.go

@@ -31,23 +31,26 @@ func JsonDataMergeProcessing(j *util.Job, e *ExtractTask) map[string][]*util.Ext
 				newNum := clear.DoClearFn(cfn, []interface{}{fmt.Sprint((*j.Jsondata)[v]), ""})
 				if util2.IntAll(newNum[0]) != 0 {
 					extFields := make([]*util.ExtField, 0)
-					extFields = append(extFields, &util.ExtField{Field: v, ExtFrom: "JsonData", SourceValue: (*j.Jsondata)[v], Value: newNum[0], Score: 0.1})
+					extFields = append(extFields, &util.ExtField{Code:"JsonData_"+v,Field: v, ExtFrom: "JsonData_"+v, SourceValue: (*j.Jsondata)[v], Value: newNum[0], Score: 0.1})
 					j.Result[v] = extFields
-					AddExtLog("JsonData_"+v, j.SourceMid, nil, newNum[0], &RegLuaInfo{"", "", v, "", false, nil, nil}, e.TaskInfo) //抽取日志
+					//AddExtLog("extract", j.SourceMid, nil, newNum[0], &RegLuaInfo{ "JsonData_"+v, "", v, "", false, nil, nil}, e.TaskInfo) //抽取日志
+					//AddExtLog("clear", j.SourceMid, (*j.Jsondata)[v], newNum[0], &RegLuaInfo{ "JsonData_"+v, "", v, "", false, nil, nil}, e.TaskInfo) //抽取日志
 				}
 				continue
 			}
 
 			extFields := make([]*util.ExtField, 0)
-			extFields = append(extFields, &util.ExtField{Field: v,ExtFrom: "JsonData", SourceValue: (*j.Jsondata)[v], Value: strings.Trim(util2.ObjToString((*j.Jsondata)[v]), " "), Score: 0.1})
+			extFields = append(extFields, &util.ExtField{Code:"JsonData_"+v,Field: v,ExtFrom:  "JsonData_"+v, SourceValue: (*j.Jsondata)[v], Value: strings.Trim(util2.ObjToString((*j.Jsondata)[v]), " "), Score: 0.1})
 			j.Result[v] = extFields
-			AddExtLog("JsonData_"+v, j.SourceMid, nil, (*j.Jsondata)[v], &RegLuaInfo{"", "", v, "", false, nil, nil}, e.TaskInfo) //抽取日志
+			//AddExtLog("extract", j.SourceMid, nil, (*j.Jsondata)[v], &RegLuaInfo{  "JsonData_"+v, "", v, "", false, nil, nil}, e.TaskInfo) //抽取日志
+			//AddExtLog("clear", j.SourceMid, (*j.Jsondata)[v], (*j.Jsondata)[v], &RegLuaInfo{  "JsonData_"+v, "", v, "", false, nil, nil}, e.TaskInfo) //抽取日志
 			continue
 		} else if v == "projectname" || v == "buyer" || v == "projectcode" || v == "agency" {
 			if strings.Trim(util2.ObjToString(j.Result[v][0].Value), " ") != strings.Trim(util2.ObjToString((*j.Jsondata)[v]), " ") {
 				tmp = append(tmp, j.Result[v][0])
-				tmp = append(tmp, &util.ExtField{Field: v,ExtFrom: "JsonData_" + v, SourceValue: (*j.Jsondata)[v], Value: strings.Trim(util2.ObjToString((*j.Jsondata)[v]), " "), Score: j.Result[v][0].Score})
-				AddExtLog("JsonData_"+v, j.SourceMid, j.Result[v], (*j.Jsondata)[v], &RegLuaInfo{"", "", v, "", false, nil, nil}, e.TaskInfo) //抽取日志
+				tmp = append(tmp, &util.ExtField{Code:"JsonData_"+v,Field: v,ExtFrom: "JsonData_" + v, SourceValue: (*j.Jsondata)[v], Value: strings.Trim(util2.ObjToString((*j.Jsondata)[v]), " "), Score: j.Result[v][0].Score})
+				//AddExtLog("extract", j.SourceMid, j.Result[v], (*j.Jsondata)[v], &RegLuaInfo{ "JsonData_"+v, "", v, "", false, nil, nil}, e.TaskInfo) //抽取日志
+				//AddExtLog("clear", j.SourceMid, j.Result[v], (*j.Jsondata)[v], &RegLuaInfo{ "JsonData_"+v, "", v, "", false, nil, nil}, e.TaskInfo) //抽取日志
 				tmps[v] = tmp
 			}
 		}
@@ -122,7 +125,15 @@ func JsonDataMergeProcessing(j *util.Job, e *ExtractTask) map[string][]*util.Ext
 		}
 	}
 
-	for k, v := range tmps {
+	for k, v := range tmps {//新打分的结果集放入到result中
+		if v[0].Score == v[1].Score{
+			if v[0].ExtFrom == "JsonData_"+k{
+				j.Result[k] = append(j.Result[k], v[1])
+			}else {
+				j.Result[k] = append(j.Result[k], v[0])
+			}
+			continue
+		}
 		j.Result[k] = append(j.Result[k], v...)
 	}
 

+ 1 - 1
src/jy/pretreated/tablev2.go

@@ -696,7 +696,7 @@ func (s *SortMap) RemoveKey(key string) {
 					}
 				} else if pos == len(s.Keys) {
 					newkeys = append(newkeys, s.Keys[:pos]...)
-				} else {
+				} else if len(s.Keys) > 1 {
 					tmp := s.Keys[pos+1:]
 					newkeys = append(append(newkeys, s.Keys[:pos]...), tmp...)
 					for _, v := range tmp {