|
@@ -190,12 +190,6 @@ func PreInfo(doc map[string]interface{}) *ju.Job {
|
|
|
|
|
|
//抽取
|
|
|
func (e *ExtractTask) ExtractProcess(j *ju.Job) {
|
|
|
- if 1 == 2 {
|
|
|
- for k, v := range j.Block {
|
|
|
- bs, _ := json.Marshal(v.TableKV)
|
|
|
- log.Println("Block TableKV", k, string(bs))
|
|
|
- }
|
|
|
- }
|
|
|
qu.Catch()
|
|
|
qu.Try(func() {
|
|
|
doc := *j.Data
|
|
@@ -242,8 +236,8 @@ func (e *ExtractTask) ExtractProcess(j *ju.Job) {
|
|
|
v.Value = data[0]
|
|
|
}
|
|
|
}
|
|
|
- // bs, _ := json.Marshal(j.Result)
|
|
|
- // log.Println("抽取结果", j.Title, j.SourceMid, string(bs))
|
|
|
+ bs, _ := json.Marshal(j.Result)
|
|
|
+ log.Println("抽取结果", j.Title, j.SourceMid, string(bs))
|
|
|
//分析抽取结果并保存 todo
|
|
|
AnalysisSaveResult(j.Data, j.Result, e.TaskInfo)
|
|
|
|
|
@@ -286,13 +280,15 @@ func ExtRegCore(extfrom string, doc map[string]interface{}, j *ju.Job, in *RegLu
|
|
|
lua.Block = j.Block
|
|
|
extinfo := lua.RunScript("core")
|
|
|
for k, v := range extinfo {
|
|
|
- if j.Result[k] == nil {
|
|
|
- j.Result[k] = [](*ju.ExtField){}
|
|
|
- }
|
|
|
- if tmps, ok := v.([]map[string]interface{}); ok {
|
|
|
- for _, tmp := range tmps {
|
|
|
- j.Result[k] = append(j.Result[k],
|
|
|
- &ju.ExtField{k, qu.ObjToString(tmp["code"]), qu.ObjToString(tmp["code"]), qu.ObjToString(tmp["type"]), qu.ObjToString(tmp["matchtype"]), extfrom, tmp["value"]})
|
|
|
+ if k == in.Field {
|
|
|
+ if j.Result[k] == nil {
|
|
|
+ j.Result[k] = [](*ju.ExtField){}
|
|
|
+ }
|
|
|
+ if tmps, ok := v.([]map[string]interface{}); ok {
|
|
|
+ for _, tmp := range tmps {
|
|
|
+ j.Result[k] = append(j.Result[k],
|
|
|
+ &ju.ExtField{k, qu.ObjToString(tmp["code"]), qu.ObjToString(tmp["code"]), qu.ObjToString(tmp["type"]), qu.ObjToString(tmp["matchtype"]), extfrom, tmp["value"]})
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -459,44 +455,6 @@ func getKvByLuaFields(extfrom string, j *ju.Job, in *RegLuaInfo, t map[string][]
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- // kv := bl.TableKV.Kv
|
|
|
- // for _, tag := range tags {
|
|
|
- // for k, val := range kv {
|
|
|
- // if tag.Type == "string" {
|
|
|
- // if k == tag.Key {
|
|
|
- // text := ju.TrimLRSpace(val, "")
|
|
|
- // if text != "" {
|
|
|
- // kvmap[field] = append(kvmap[field], map[string]interface{}{
|
|
|
- // "field": field,
|
|
|
- // "code": in.Code,
|
|
|
- // "ruletext": tag.Key,
|
|
|
- // "extfrom": extfrom,
|
|
|
- // "value": text,
|
|
|
- // "type": "table",
|
|
|
- // "matchtype": "tag_string",
|
|
|
- // })
|
|
|
- // }
|
|
|
- // break
|
|
|
- // }
|
|
|
- // } else if tag.Type == "regexp" {
|
|
|
- // if tag.Reg.MatchString(k) {
|
|
|
- // text := ju.TrimLRSpace(val, "")
|
|
|
- // if text != "" {
|
|
|
- // kvmap[field] = append(kvmap[field], map[string]interface{}{
|
|
|
- // "field": field,
|
|
|
- // "code": in.Code,
|
|
|
- // "ruletext": tag.Key,
|
|
|
- // "extfrom": extfrom,
|
|
|
- // "value": text,
|
|
|
- // "type": "table",
|
|
|
- // "matchtype": "tag_regexp",
|
|
|
- // })
|
|
|
- // }
|
|
|
- // break
|
|
|
- // }
|
|
|
- // }
|
|
|
- // }
|
|
|
- // }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -776,22 +734,8 @@ func AnalysisSaveResult(doc *map[string]interface{}, result map[string][]*ju.Ext
|
|
|
if len(tmp) > 0 { //保存抽取结果
|
|
|
task.DB.Update(task.SaveColl, `{"_id":"`+_id+`"}`, map[string]interface{}{"$set": tmp}, true, false)
|
|
|
}
|
|
|
- //保存抽取详情
|
|
|
- // tmp["result"] = result
|
|
|
- // for k, v := range *doc {
|
|
|
- // if tmp[k] == nil { //&& (k != "detail" || k != "contenthtml") {
|
|
|
- // tmp[k] = v
|
|
|
- // }
|
|
|
- // }
|
|
|
db.Mgo.Update("extract_result", `{"_id":"`+_id+`"}`, map[string]interface{}{"$set": resulttmp}, true, false)
|
|
|
} else { //测试结果
|
|
|
- //保存抽取详情
|
|
|
- // tmp["result"] = result
|
|
|
- // for k, v := range *doc {
|
|
|
- // if tmp[k] == nil { //&& (k != "detail" || k != "contenthtml") {
|
|
|
- // tmp[k] = v
|
|
|
- // }
|
|
|
- // }
|
|
|
db.Mgo.Update(task.TestColl, `{"_id":"`+_id+`"}`, map[string]interface{}{"$set": resulttmp}, true, false)
|
|
|
}
|
|
|
}
|