Bladeren bron

监听相关修改

zhengkun 4 jaren geleden
bovenliggende
commit
0bef6e2c17

+ 11 - 0
data_monitoring/listen_data/src/main.go

@@ -1,6 +1,7 @@
 package main
 
 import (
+	"flag"
 	"fmt"
 	"github.com/cron"
 	"github.com/tealeg/xlsx"
@@ -17,6 +18,7 @@ var (
 	save_mgo,site_mgo,python_mgo        	*MongodbSim            //mongodb操作对象
 	save_c_name,site_c_name,python_c_name,xlsx_name,site_unique_name	string
 	prepareData								[]map[string]interface{}
+	start	string
 )
 
 func initMgo()  {
@@ -65,6 +67,8 @@ func initMgo()  {
 func init() {
 	//加载配置文件
 	qu.ReadConfig(&sysconfig)
+	flag.StringVar(&start, "s", "", "是否启动") //增量
+	flag.Parse()
 	initMgo()
 }
 
@@ -74,6 +78,13 @@ func main()  {
 	c := cron.New()
 	c.AddFunc("0 50 8 ? * *", func() { dealWithSiteData() })
 	c.Start()
+
+	if start !="" {
+		log.Println("立即执行一次...")
+		dealWithSiteData()
+	}else {
+		log.Println("正常监听...")
+	}
 	time.Sleep(99999*time.Hour)
 }
 

+ 7 - 5
src/jy/extract/extract.go

@@ -537,10 +537,10 @@ func file2text(doc *map[string]interface{}) {
 	(*doc)["detailfile"] = strings.ReplaceAll(tmpstr, "附件", "")
 }
 
-//抽取
+//抽取-正文
 func (e *ExtractTask) ExtractProcess(j, jf *ju.Job, isSite bool) {
-	e.ExtractDetail(j, isSite, j.SpiderCode)
-	if jf != nil && jf.IsFile {
+	e.ExtractDetail(j, isSite, j.SpiderCode) //正文-抽取属性
+	if jf != nil && jf.IsFile { //附件jf → j  合并
 		e.ExtractDetail(jf, isSite, j.SpiderCode)
 		for tmpk, xs := range jf.Result {
 			if len(j.Result[tmpk]) == 0 {
@@ -771,7 +771,7 @@ func (e *ExtractTask) ExtractDetail(j *ju.Job, isSite bool, codeSite string) {
 				lockclear.Unlock()
 			}
 		}
-		PackageDetail(j, e, isSite, codeSite) //处理分包信息
+		PackageDetail(j, e, isSite, codeSite) //处理分包信息-去重
 		//		bs, _ := json.Marshal(j.Result)
 		//		 log.Debug("抽取结果", j.Title, j.SourceMid, string(bs))
 	}, func(err interface{}) {
@@ -1886,6 +1886,7 @@ func AnalysisSaveResult(j, jf *ju.Job, e *ExtractTask) {
 		}
 		//重新取出清理过后的中标候选人
 		resetWinnerorder(j)
+		//打分
 		doc, result, _id := funcAnalysis(j, e)
 		//_, result, _id := funcAnalysis(j, e)
 		if ju.IsSaveTag {
@@ -2403,6 +2404,7 @@ func delFiled(k string) bool {
 	return k == "detailfile" || k == "summary" || k == "detail" || k == "contenthtml" || k == "site" || k == "spidercode" || k == "projectinfo" || k == "jsondata"
 }
 
+//分析-打分排序
 func funcAnalysis(j *ju.Job, e *ExtractTask) (*map[string]interface{}, map[string][]*ju.ExtField, string) {
 	defer qu.Catch()
 	doc := j.Data
@@ -2415,7 +2417,7 @@ func funcAnalysis(j *ju.Job, e *ExtractTask) (*map[string]interface{}, map[strin
 		ju.Sort(val)
 	}
 	if !(len(j.Result) <= 0 || j.Jsondata == nil || len(*j.Jsondata) <= 0) {
-		//jsondata清理
+
 		clearJd(j.Jsondata, e, j.SpiderCode, j.IsClearnMoney)
 		marshalbt, _ := json.Marshal(j.Jsondata)
 		tmpjddata := make(map[string]interface{})

+ 2 - 2
src/jy/pretreated/analystep.go

@@ -48,7 +48,7 @@ func AnalyStart(job *util.Job, isSite bool, codeSite string) {
 	//分块+处理每块kv
 	blockArrays, _ := DivideBlock(job.CategorySecond, con, 1, job.RuleBlock, isSite, codeSite)
 	if len(blockArrays) > 0 {                                                                  //有分块
-		//从块里面找分包
+		//从块里面找分包-文本
 		if !job.IsFile {
 			job.BlockPackage = FindPackageFromBlocks(&blockArrays, isSite, codeSite) //从块里面找分包
 		}
@@ -61,7 +61,7 @@ func AnalyStart(job *util.Job, isSite bool, codeSite string) {
 				}
 			}
 			FindProjectCode(bl.Text, job) //匹配项目编号
-			processTableInBlock(bl, job, isSite, codeSite)
+			processTableInBlock(bl, job, isSite, codeSite) //处理表格
 			//新加 未分块table中未能解析到中标候选人,从正文中解析
 			if job.Winnerorder == nil || len(job.Winnerorder) == 0 {
 				bl.Winnerorder = winnerOrderEntity.Find(bl.Text, true, 1, isSite, codeSite)

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

@@ -253,7 +253,7 @@ func (table *Table) KVFilter(isSite bool, codeSite string) {
 			as.AddKey(k, v)
 		}
 	}
-	//处理值是数组的kv放入标准化kv中//处理table.SortKV.value为数组的情况
+	//处理值是数组的kv放入标准化kv中 standKV //处理table.SortKV.value为数组的情况
 	table.sortKVArr(as, isSite, codeSite)
 	//
 	if len(table.WinnerOrder) > 0 || !table.BPackage {
@@ -918,7 +918,7 @@ func (tn *Table) AnalyTables(contactFormat *u.ContactFormat, isSite bool, codeSi
 			}
 			//对没有表头表格的处理
 			if table.Tag != "" {
-				co, m, b := CheckMultiPackage(table.Tag, "")
+				co, m, b := CheckMultiPackage(table.Tag, "") //分包处理
 				if b {
 					table.BPackage = b
 					if len(table.BlockPackage.Map) == 0 {
@@ -944,7 +944,7 @@ func (tn *Table) AnalyTables(contactFormat *u.ContactFormat, isSite bool, codeSi
 				}
 			}
 			//判断是否是多包,并处理分包的//遍历td分块
-			table.CheckMultiPackageByTable(isSite, codeSite)
+			table.CheckMultiPackageByTable(isSite, codeSite) //分包处理
 			//MergeKvTags(table.TableResult.KvTags, table.StandKV)
 		}
 	}

+ 5 - 3
src/jy/pretreated/division.go

@@ -602,12 +602,13 @@ func FindPackageFromBlocks(blocks *[]*util.Block, isSite bool, codeSite string)
 		}
 		//var ok bool
 		//var surplusText string
+		//分析分包-金额,中标单位,人电话,包名,中标后选人
 		divisionPackageChild(&blockPackage, text, v.Title, true, v.Tag["中标单位"], isSite, codeSite)
 	}
 	//orderwinner := winnerOrderEntity.Find(content, true, 2, isSite, codeSite)
 
 	for k, v := range blockPackage {
-		findWinnerBugetBidmountByKv(v, blockPackage, k)
+		findWinnerBugetBidmountByKv(v, blockPackage, k) //根据kv-find字段
 	}
 	return
 }
@@ -695,14 +696,14 @@ func divisionPackageChild(blockPackage *map[string]*util.BlockPackage, content,
 	content = regMoreWrap.ReplaceAllString(content, "\n")
 	content = regEndWrap.ReplaceAllString(content, "")
 	content = regBZJWarap.ReplaceAllString(content, "")
-	con, pkg, flag := CheckMultiPackage(content, title)
+	con, pkg, flag := CheckMultiPackage(content, title) //找pkg分包包名
 	if !flag {
 		return false, ""
 	}
 	//	util.Debug(con)
 	//	util.Debug(pkg)
 	//分包前面添加换行
-	appendWarpIndex := []int{}
+	appendWarpIndex := []int{} //分包名,正文下标位置: 1000长 300下标
 	for _, v := range pkg {
 		//如果文本内容以识别出来的分包标识结尾,不是分包
 		if len(pkg) == 1 && strings.HasSuffix(con, v[0]) {
@@ -873,6 +874,7 @@ func divisionPackageChild(blockPackage *map[string]*util.BlockPackage, content,
 					kvAgain := GetKVAll(text, "", nil, 4, isSite, codeSite)
 					MergeKvTags(finalKv.KvTags, kvAgain.KvTags)
 				}
+				//kv-字段-
 				newBpkg.ColonKV = finalKv
 				newBpkg.SpaceKV = SspacekvEntity.Entrance(text, "", nil, isSite, codeSite)
 				(*blockPackage)[index] = newBpkg

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

@@ -50,7 +50,7 @@ func CheckMultiPackage(con, title string) (content string, m map[string][]string
 	m = map[string][]string{}
 	con = PreReg.ReplaceAllString(con, "")
 	con = PreReg1.ReplaceAllString(con, "")
-	pres := PreCheckMulti.FindStringSubmatch(con)
+	pres := PreCheckMulti.FindStringSubmatch(con) //找分包
 	if len(pres) == 10 {
 		//log.Println(pres)
 		k := pres[1]

+ 1 - 0
src/main.go

@@ -81,4 +81,5 @@ func main() {
 	}()
 	lock := make(chan bool)
 	<-lock
+
 }

+ 2 - 1
udpdataclear/udpSensitiveWords/main.go

@@ -9,7 +9,8 @@ func init() {
 }
 func main() {
 
-
+	//util.TestData()
+	//return
 	go util.AddTaskSensitiveWordsData() //增量
 	// 主函数中添加
 	util.ExtractUdp() //udp通知抽取

+ 12 - 0
udpdataclear/udpSensitiveWords/util/hisdata.go

@@ -127,6 +127,18 @@ func HistoryReadyData() {
 
 //测试方法
 func TestData() {
+	log.Println("测试...")
+	//elastic.Update(esIndex,esType,es_id, updateStr)
+	//elas
+	res, err := Client_Es.Update().
+		Index(es_index).
+		Type(es_type).
+		Id("609b6ef203ba548731699074").
+		Doc(map[string]interface{}{"name": "联通数字科技有限公司","name_word":"联通数字科技有限公司"}).
+		Do()
+	log.Println(res,err)
+
+	return
 	//北京建雄建筑集团有限公司 江苏贝尔照明电气有限公司 甘肃三杰软件有限公司 云南和合泰商贸有限公司
 	//甘肃泓文建筑设计有限公司 天津市静海县龙盛水泥制品厂 中国联通网络通信有限公司张家口市分公司
 	//广联达软件有限公司河南分公司  上海熊猫机械(集团)有限公司昆明分公司