zhangjinkun 6 år sedan
förälder
incheckning
36361c7878
1 ändrade filer med 13 tillägg och 8 borttagningar
  1. 13 8
      src/jy/extract/extract.go

+ 13 - 8
src/jy/extract/extract.go

@@ -2,6 +2,7 @@ package extract
 
 import (
 	"encoding/json"
+	"fmt"
 	"jy/clear"
 	db "jy/mongodbutil"
 	"jy/pretreated"
@@ -650,16 +651,20 @@ func AnalysisSaveResult(doc *map[string]interface{}, result map[string][]*ju.Ext
 	//结果排序
 	values := map[string][]*ju.SortObject{}
 	for key, val := range result {
-		fieldValue := map[string]int{}
+		fieldValue := map[string][]interface{}{}
 		for _, v := range val {
-			value := qu.ObjToString(v.Value)
-			fieldValue[value] += 1
+			if fieldValue[fmt.Sprint(v.Value)] == nil {
+				fieldValue[fmt.Sprint(v.Value)] = []interface{}{0, v.Value}
+			} else {
+				fieldValue[fmt.Sprint(v.Value)][0] = qu.IntAll(fieldValue[fmt.Sprint(v.Value)][0]) + 1
+			}
 		}
 		objects := []*ju.SortObject{}
 		for k, v := range fieldValue {
 			tmp := &ju.SortObject{
-				Key:   k,
-				Value: v,
+				Key:    k,
+				Value:  qu.IntAll(v[0]),
+				Object: v[1],
 			}
 			objects = append(objects, tmp)
 		}
@@ -670,14 +675,14 @@ func AnalysisSaveResult(doc *map[string]interface{}, result map[string][]*ju.Ext
 	for key, val := range values {
 		for _, v := range val { //取第一个
 			if v.Key != "" {
-				tmp[key] = v.Key
+				tmp[key] = v.Object
 				break
 			}
 		}
 	}
 	//保存抽取结果
-	task.DB.Update(task.SaveColl, `{"_id":"`+_id+`"}`, doc, true, false)
+	task.DB.Update(task.SaveColl, `{"_id":"`+_id+`"}`, map[string]interface{}{"$set": tmp}, true, false)
 	//保存抽取详情
 	tmp["result"] = result
-	db.Mgo.Update("extract_result", `{"_id":"`+_id+`"}`, tmp, true, false)
+	db.Mgo.Update("extract_result", `{"_id":"`+_id+`"}`, map[string]interface{}{"$set": tmp}, true, false)
 }