fengweiqiang 6 anos atrás
pai
commit
caa2d53290
1 arquivos alterados com 28 adições e 22 exclusões
  1. 28 22
      src/jy/extract/extract.go

+ 28 - 22
src/jy/extract/extract.go

@@ -24,12 +24,12 @@ import (
 var (
 	lock, lockrule, lockclear sync.RWMutex
 
-	cut           = ju.NewCut()                          //获取正文并清理
-	ExtLogs       map[*TaskInfo][]map[string]interface{} //抽取日志
-	TaskList      map[string]*ExtractTask                //任务列表
-	ClearTaskList map[string]*ClearTask                  //清理任务列表
-	saveLimit     = 200                                  //抽取日志批量保存
-	PageSize      = 5000                                 //查询分页
+	cut     = ju.NewCut()                          //获取正文并清理
+	ExtLogs map[*TaskInfo][]map[string]interface{} //抽取日志
+	TaskList      map[string]*ExtractTask          //任务列表
+	ClearTaskList map[string]*ClearTask            //清理任务列表
+	saveLimit     = 200                            //抽取日志批量保存
+	PageSize      = 5000                           //查询分页
 	Fields        = `{"title":1,"detail":1,"contenthtml":1,"site":1,"spidercode":1,"toptype":1,"subtype":1,"area":1,"city":1,"comeintime":1,"publishtime":1,"sensitive":1,"projectinfo":1,"jsondata":1}`
 	Fields2       = `{"budget":1,"bidamount":1,"title":1,"projectname":1,"winner":1}`
 )
@@ -1250,23 +1250,29 @@ func AnalysisSaveResult(j, jf *ju.Job, e *ExtractTask) {
 				blocks = append(blocks, ju.BlockAndTag{v.Tag, tmpblock})
 			}
 			//把所有kv组装成一个字符串,存库
-			for ck, cv := range v.ColonKV.Kv {
-				kvtext.WriteString(ck)
-				kvtext.WriteString(":")
-				kvtext.WriteString(cv)
-				kvtext.WriteString(" ")
+			if v.ColonKV != nil {
+				for ck, cv := range v.ColonKV.Kv {
+					kvtext.WriteString(ck)
+					kvtext.WriteString(":")
+					kvtext.WriteString(cv)
+					kvtext.WriteString(" ")
+				}
 			}
-			for sk, sv := range v.SpaceKV.Kv {
-				kvtext.WriteString(sk)
-				kvtext.WriteString(":")
-				kvtext.WriteString(sv)
-				kvtext.WriteString(" ")
+			if v.SpaceKV != nil {
+				for sk, sv := range v.SpaceKV.Kv {
+					kvtext.WriteString(sk)
+					kvtext.WriteString(":")
+					kvtext.WriteString(sv)
+					kvtext.WriteString(" ")
+				}
 			}
-			for tk, tv := range v.TableKV.Kv {
-				kvtext.WriteString(tk)
-				kvtext.WriteString(":")
-				kvtext.WriteString(tv)
-				kvtext.WriteString(" ")
+			if v.TableKV != nil {
+				for tk, tv := range v.TableKV.Kv {
+					kvtext.WriteString(tk)
+					kvtext.WriteString(":")
+					kvtext.WriteString(tv)
+					kvtext.WriteString(" ")
+				}
 			}
 		}
 		if kvtext.Len() > 0 {
@@ -1449,7 +1455,7 @@ func (e *ExtractTask) QualityAudit(resulttmp map[string]interface{}) {
 func (e *ExtractTask) RedisMatch(field, fv string, val map[string]interface{}) {
 	defer qu.Catch()
 	i := redis.GetInt(field, field+"_"+fv) //查找redis
-	if i == 0 {                            //reids未找到,执行规则匹配
+	if i == 0 { //reids未找到,执行规则匹配
 		val[field+"_isredis"] = false
 		e.RuleMatch(field, fv, val) //规则匹配
 	} else { //redis找到,打标识存库