1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- package main
- import (
- "fmt"
- util "jygit.jydev.jianyu360.cn/data_processing/common_utils"
- es "jygit.jydev.jianyu360.cn/data_processing/common_utils/elastic"
- "jygit.jydev.jianyu360.cn/data_processing/common_utils/mongodb"
- "log"
- "regexp"
- )
- var (
- Mgo *mongodb.MongodbSim
- GF GlobalConf
- Esa *es.Elastic
- Esb *es.Elastic
- //Labels []LabelData //全局所有标签规则
- )
- type DataRes struct {
- Name string
- Weight float64
- }
- func main() {
- REG, _ = regexp.Compile(`\(.*?\)\d*`)
- InitConfig()
- InitMgo()
- //data := map[string]interface{}{
- // "conpamy_name": "发展和改革投资",
- // "cc_name": "ccdd",
- // "name": "发展治理委员会",
- //}
- defer util.Catch()
- sess := Mgo.GetMgoConn()
- defer Mgo.DestoryMongoConn(sess)
- it := sess.DB("wcc").C("bidding").Find(nil).Select(nil).Iter()
- fmt.Println("taskRun 开始")
- count := 0
- for tmp := make(map[string]interface{}); it.Next(&tmp); count++ {
- ResMap := make([]LabelData, 0)
- id := mongodb.BsonIdToSId(tmp["_id"])
- for _, v := range GF.Labels {
- //fmt.Println(v)
- v.RegRule = DealRules(v.Rule)
- if v.Name == "自然资源" {
- log.Println(v)
- }
- //Labels = append(Labels, v)
- //匹配规则,返回规则内匹配的关键词
- //根据识别字段,开始各个字段匹配
- for _, vv := range v.Field {
- text := util.ObjToString(tmp[vv])
- if text == "" {
- continue
- }
- rs, _ := DFAAnalyRules(text, v.RegRule)
- if rs {
- ResMap = append(ResMap, v)
- continue
- }
- }
- }
- //
- // 处理有重复的标签
- mergedMap := MergeLabelData(ResMap)
- for key, values := range mergedMap {
- fmt.Printf("Sfield: %s\n", key)
- datas := make([]DataRes, 0)
- for _, value := range values {
- fmt.Printf(" Name: %s, Weight: %f\n", value.Name, value.Weight)
- dar := DataRes{
- Name: value.Name,
- Weight: value.Weight,
- }
- datas = append(datas, dar)
- //log.Println("aaaaaa", key, "==", datas)
- update := map[string]interface{}{
- key: datas,
- }
- Mgo.UpdateById("bidding", id, map[string]interface{}{"$set": update})
- }
- }
- }
- }
|