|
@@ -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)
|
|
|
}
|