zhangjinkun před 6 roky
rodič
revize
70e793cb9e
2 změnil soubory, kde provedl 25 přidání a 21 odebrání
  1. 24 20
      src/jy/extract/extract.go
  2. 1 1
      src/jy/pretreated/analytable.go

+ 24 - 20
src/jy/extract/extract.go

@@ -68,6 +68,7 @@ func RunExtractTestTask(ext *ExtractTask, startId, num string) bool {
 		query := bson.M{"_id": bson.M{"$gte": bson.ObjectIdHex(startId)}}
 		list, _ := ext.TaskInfo.DB.Find(ext.TaskInfo.FromColl, query, nil, Fields, false, 0, n)
 		for _, v := range *list {
+			//log.Println(v["_id"])
 			j := PreInfo(v)
 			ext.TaskInfo.ProcessPool <- true
 			go ext.ExtractProcess(j)
@@ -269,7 +270,7 @@ func (e *ExtractTask) ExtractProcess(j *ju.Job) {
 		//分析抽取结果并保存 todo
 		AnalysisSaveResult(j, e)
 	}, func(err interface{}) {
-		log.Println(err)
+		log.Println((*j.Data)["_id"], err)
 		<-e.TaskInfo.ProcessPool
 	})
 	<-e.TaskInfo.ProcessPool
@@ -774,7 +775,7 @@ func AnalysisSaveResult(j *ju.Job, e *ExtractTask) {
 	tmp := map[string]interface{}{} //抽取值
 	for key, val := range values {
 		for _, v := range val { //取第一个非负数
-			if qu.ObjToString(v.Object) != "" && v.Value > -1 {
+			if v.Key != "" && v.Value > -1 {
 				tmp[key] = v.Object
 				break
 			}
@@ -810,26 +811,29 @@ func AnalysisSaveResult(j *ju.Job, e *ExtractTask) {
 	}
 
 	if e.TaskInfo.TestColl == "" {
-		if len(tmp) > 0 { //保存抽取结果
-			tmparr := []map[string]interface{}{
-				map[string]interface{}{
-					"_id": qu.StringTOBsonId(_id),
-				},
-				map[string]interface{}{"$set": tmp},
+		if 1 == 2 {
+
+			if len(tmp) > 0 { //保存抽取结果
+				tmparr := []map[string]interface{}{
+					map[string]interface{}{
+						"_id": qu.StringTOBsonId(_id),
+					},
+					map[string]interface{}{"$set": tmp},
+				}
+				e.BidArr = append(e.BidArr, tmparr)
 			}
-			e.BidArr = append(e.BidArr, tmparr)
-		}
-		if b, ok := ju.Config["saveresult"].(bool); ok && b {
-			id := tmp["_id"]
-			tmp["result"] = result
-			delete(tmp, "_id")
-			tmparr := []map[string]interface{}{
-				map[string]interface{}{
-					"_id": id,
-				},
-				map[string]interface{}{"$set": tmp},
+			if b, ok := ju.Config["saveresult"].(bool); ok && b {
+				id := tmp["_id"]
+				tmp["result"] = result
+				delete(tmp, "_id")
+				tmparr := []map[string]interface{}{
+					map[string]interface{}{
+						"_id": id,
+					},
+					map[string]interface{}{"$set": tmp},
+				}
+				e.ResultArr = append(e.ResultArr, tmparr)
 			}
-			e.ResultArr = append(e.ResultArr, tmparr)
 		}
 	} else { //测试结果
 		delete(tmp, "_id")

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

@@ -2183,7 +2183,7 @@ func findpos(con string, iLen, start int) (newcon string) {
 			} else if pos > 0 {
 				pos += 5
 			}
-			if pos <= n {
+			if pos <= n && pos < len(con) && start < pos {
 				newcon = con[:start] + "<table>" + con[start:pos] + "</table>" + con[pos:]
 			}
 		}