wcc преди 1 месец
родител
ревизия
440c3c8daf
променени са 4 файла, в които са добавени 51 реда и са изтрити 20 реда
  1. 27 17
      createEsIndex/bidding_es.go
  2. 1 1
      createEsIndex/go.mod
  3. 0 2
      createEsIndex/go.sum
  4. 23 0
      createEsIndex/main.go

+ 27 - 17
createEsIndex/bidding_es.go

@@ -78,31 +78,27 @@ func biddingTask(mapInfo map[string]interface{}) {
 				<-ch
 				wg.Done()
 			}()
-			//判断是否是预处理数据;pre_id 是标识
-			//if config.Conf.Env.OpenPre {
-			//	if pre_id, ok := tmp["pre_id"]; ok {
-			//		preID := util.ObjToString(pre_id)
-			//		if preID != "" {
-			//			deletePreEsData(preID)
-			//		}
-			//	}
-			//}
+
 			if sensitive := util.ObjToString(tmp["sensitive"]); sensitive == "测试" { //bidding中有敏感词,不生索引
 				tmp = make(map[string]interface{})
 				return
 			}
 			//只针对增量数据处理;全量数据 需要用extracttype字段判断
 			//7:	重复数据
-			//8:	不重
-			if util.IntAll(tmp["dataprocess"]) != 8 {
-				return
-			}
+			//8:	不重
+			//if util.IntAll(tmp["dataprocess"]) != 8 {
+			//	return
+			//}
 			//// 增量数据使用上面判断;全量数据使用下面配置
 			//-1:重复 ,1:不重复 ,0:入库 9:分类
 			//if util.IntAll(tmp["extracttype"]) != 1 {
 			//	return
 			//}
 
+			// 优选字段,和 extracttype 一致,isprefer  1:优选 -1:取消优选
+			if util.IntAll(tmp["isprefer"]) != 1 {
+				return
+			}
 			//针对产权数据,暂时不入es 索引库
 			if util.IntAll(tmp["infoformat"]) == 3 {
 				return
@@ -126,7 +122,8 @@ func biddingTask(mapInfo map[string]interface{}) {
 			index++
 			indexLock.Unlock()
 			newTmp, update := GetEsField(tmp, stype)
-			newTmp["dataweight"] = 0 //索引数据新增 jy置顶字段
+			newTmp["dataweight"] = 0                     //索引数据新增 jy置顶字段
+			newTmp["old_preferid"] = tmp["old_preferid"] //上次优选ID,需要es 删除
 
 			//针对中国政府采购网,单独处理
 			if util.ObjToString(tmp["site"]) == "中国政府采购网" {
@@ -137,8 +134,14 @@ func biddingTask(mapInfo map[string]interface{}) {
 			}
 			//
 			if stype == "bidding" || stype == "bidding_history" || stype == "index-by-id" {
-				newTmp["pici"] = time.Now().Unix()
-				update["pici"] = time.Now().Unix()
+				//之前存在pici,就不在添加
+				if pici, ok := tmp["pici"]; ok {
+					newTmp["pici"] = pici
+				} else {
+					newTmp["pici"] = time.Now().Unix()
+					update["pici"] = time.Now().Unix()
+				}
+
 			}
 			//todo 处理中国移动定制标签
 			if len(globalRegs) > 0 && len(MatchArr) > 0 {
@@ -264,6 +267,11 @@ func biddingAllTask(mapInfo map[string]interface{}) {
 				return
 			}
 
+			// 优选字段,和 extracttype 一致,isprefer  1:优选 -1:取消优选
+			if util.IntAll(tmp["isprefer"]) != 1 {
+				return
+			}
+
 			//针对产权数据,暂时不入es 索引库
 			if util.IntAll(tmp["infoformat"]) == 3 {
 				return
@@ -280,6 +288,7 @@ func biddingAllTask(mapInfo map[string]interface{}) {
 			index++
 			indexLock.Unlock()
 			newTmp, update := GetEsField(tmp, stype)
+			newTmp["old_preferid"] = tmp["old_preferid"] //上次优选ID,需要es 删除
 			//针对中国政府采购网,单独处理
 			if util.ObjToString(tmp["site"]) == "中国政府采购网" {
 				objectType := MatchService(tmp)
@@ -449,7 +458,8 @@ func biddingTaskById(mapInfo map[string]interface{}) {
 
 	if util.IntAll((*tmp)["extracttype"]) == 1 {
 		newTmp, update := GetEsField(*tmp, stype)
-		newTmp["dataweight"] = 0 //索引数据新增 jy置顶字段
+		newTmp["dataweight"] = 0                        //索引数据新增 jy置顶字段
+		newTmp["old_preferid"] = (*tmp)["old_preferid"] //上次优选ID,需要es 删除
 		if len(update) > 0 {
 			//updateBiddingPool <- []map[string]interface{}{{
 			//	"_id": mongodb.StringTOBsonId(infoid),

+ 1 - 1
createEsIndex/go.mod

@@ -11,6 +11,7 @@ require (
 	github.com/spf13/viper v1.15.0
 	go.mongodb.org/mongo-driver v1.10.2
 	go.uber.org/zap v1.23.0
+	golang.org/x/net v0.17.0
 	jygit.jydev.jianyu360.cn/data_processing/common_utils v0.0.0-20240412074219-927f3f682cb3
 )
 
@@ -45,7 +46,6 @@ require (
 	go.uber.org/atomic v1.9.0 // indirect
 	go.uber.org/multierr v1.8.0 // indirect
 	golang.org/x/crypto v0.14.0 // indirect
-	golang.org/x/net v0.17.0 // indirect
 	golang.org/x/sync v0.1.0 // indirect
 	golang.org/x/sys v0.13.0 // indirect
 	golang.org/x/text v0.13.0 // indirect

+ 0 - 2
createEsIndex/go.sum

@@ -591,8 +591,6 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh
 honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
 honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
 honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
-jygit.jydev.jianyu360.cn/data_processing/common_utils v0.0.0-20231223031213-3f719e173cb5 h1:IJlZ+JTn7UvVeHyALb+yWacmtE94TW2XvBIRgTyRmzU=
-jygit.jydev.jianyu360.cn/data_processing/common_utils v0.0.0-20231223031213-3f719e173cb5/go.mod h1:1Rp0ioZBhikjXHYYXmnzL6RNfvTDM/2XvRB+vuPLurI=
 jygit.jydev.jianyu360.cn/data_processing/common_utils v0.0.0-20240412074219-927f3f682cb3 h1:mTokQIoOu/oZ2oCSAPayIFfnglIHP0qbOw1Ez6biKDo=
 jygit.jydev.jianyu360.cn/data_processing/common_utils v0.0.0-20240412074219-927f3f682cb3/go.mod h1:1Rp0ioZBhikjXHYYXmnzL6RNfvTDM/2XvRB+vuPLurI=
 rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=

+ 23 - 0
createEsIndex/main.go

@@ -427,17 +427,40 @@ func SaveEsMethod() {
 		case v := <-saveEsPool:
 			id := v["id"]
 			ids := v["_id"]
+			//如果优选,存在上次的优选ID,需要删除上次的ID索引
+			oid := util.ObjToString(v["old_preferid"])
+			delete(v, "old_preferid")
+			if oid != "" {
+				err := Es.DeleteByID(config.Conf.DB.Es.IndexB, oid)
+				if err != nil {
+					log.Info("SaveEsMethod", zap.String("上次优选ID删除失败", oid))
+				}
+			}
 			Es.Save(config.Conf.DB.Es.IndexB, v)
 			// 华为云集群1
 			if config.Conf.DB.Es.Addr2 != "" {
 				v["id"] = id
 				v["_id"] = ids
+				delete(v, "old_preferid")
+				if oid != "" {
+					err := Es2.DeleteByID(config.Conf.DB.Es.IndexB, oid)
+					if err != nil {
+						log.Info("SaveEsMethod", zap.String("上次优选ID删除失败", oid))
+					}
+				}
 				Es2.Save(config.Conf.DB.Es.Indexb2, v)
 			}
 			// 华为云新集群2,迁移原来阿里云数据
 			if config.Conf.DB.Es.Addr3 != "" {
 				v["id"] = id
 				v["_id"] = ids
+				delete(v, "old_preferid")
+				if oid != "" {
+					err := Es3.DeleteByID(config.Conf.DB.Es.IndexB, oid)
+					if err != nil {
+						log.Info("SaveEsMethod", zap.String("上次优选ID删除失败", oid))
+					}
+				}
 				Es3.Save(config.Conf.DB.Es.Indexb3, v)
 			}
 		}