maxiaoshan 5 年 前
コミット
13323a0c11

+ 66 - 72
udpcreateindex/src/biddingall.go

@@ -1,7 +1,6 @@
 package main
 
 import (
-	"fmt"
 	"log"
 	qutil "qfw/util"
 	elastic "qfw/util/elastic"
@@ -67,7 +66,11 @@ func biddingAllTask(data []byte, mapInfo map[string]interface{}) {
 	var compare bson.M
 	bnil := false
 	for tmp := make(map[string]interface{}); query.Next(tmp); n++ {
+		if deldata := qutil.IntAll(tmp["del"]); deldata == 1 { //临时:重复数据不生索引
+			continue
+		}
 		update := map[string]interface{}{}
+		del := map[string]interface{}{} //记录extract没有值而bidding中有值的字段
 		//对比方法----------------
 		for {
 			if compare == nil {
@@ -84,20 +87,22 @@ func biddingAllTask(data []byte, mapInfo map[string]interface{}) {
 					bnil = false
 					//更新bidding表,生成索引
 					for _, k := range fields { //fields更新到mongo的字段
-						v1 := compare[k]
-						v2 := tmp[k]
+						v1 := compare[k] //extract
+						v2 := tmp[k]     //bidding
 						if v2 == nil && v1 != nil {
 							update[k] = v1
 						} else if v2 != nil && v1 != nil {
-							//update[k+"_b"] = v2
 							update[k] = v1
-						} else if v2 != nil && v1 == nil {
-							//update[k+"_b"] = v2
+						} else if v2 != nil && v1 == nil { //
+							if k == "s_subscopeclass" && del["subscopeclass"] == nil {
+								continue
+							}
+							del[k] = 1
+							//qutil.Debug("抽取结果没有值,bidding有值:field--", k, "val--", v2)
 						}
 					}
 					if qutil.IntAll(compare["repeat"]) == 1 {
 						update["extracttype"] = -1
-						//} else if qutil.IntAll(tmp["extracttype"]) == -1 {
 					} else {
 						update["extracttype"] = 1
 					}
@@ -120,21 +125,19 @@ func biddingAllTask(data []byte, mapInfo map[string]interface{}) {
 		//下面可以多线程跑的--->
 		//处理分类
 		mpool <- true
-		go func(tmp, update, compare map[string]interface{}, bnil bool) {
+		go func(tmp, update, compare, del map[string]interface{}, bnil bool) {
 			defer func() {
 				<-mpool
 			}()
 			if !bnil && compare != nil {
 				subscopeclass, _ := compare["subscopeclass"].([]interface{})
 				if subscopeclass != nil {
-					//str := ","
 					m1 := map[string]bool{}
 					newclass := []string{}
 					for _, sc := range subscopeclass {
 						sclass, _ := sc.(string)
 						if !m1[sclass] {
 							m1[sclass] = true
-							//str += sclass + ","
 							newclass = append(newclass, sclass)
 						}
 					}
@@ -142,72 +145,65 @@ func biddingAllTask(data []byte, mapInfo map[string]interface{}) {
 					update["subscopeclass"] = newclass
 				}
 				//处理中标企业
-				winner, _ := compare["winner"].(string)
-				m1 := map[string]bool{}
-				if winner != "" {
-					m1[winner] = true
-				}
-				package1 := compare["package"]
-				if package1 != nil {
-					packageM, _ := package1.(map[string]interface{})
-					for _, p := range packageM {
-						pm, _ := p.(map[string]interface{})
-						pw, _ := pm["winner"].(string)
-						if pw != "" {
-							m1[pw] = true
-						}
-					}
-				}
+				//				winner, _ := compare["winner"].(string)
+				//				m1 := map[string]bool{}
+				//				if winner != "" {
+				//					m1[winner] = true
+				//				}
+				//				package1 := compare["package"]
+				//				if package1 != nil {
+				//					packageM, _ := package1.(map[string]interface{})
+				//					for _, p := range packageM {
+				//						pm, _ := p.(map[string]interface{})
+				//						pw, _ := pm["winner"].(string)
+				//						if pw != "" {
+				//							m1[pw] = true
+				//						}
+				//					}
+				//				}
 				compare = nil
-				if len(m1) > 0 {
-					//str := ","
-					winnerarr := []string{}
-					for k, _ := range m1 {
-						//str += k + ","
-						winnerarr = append(winnerarr, k)
-					}
-					update["s_winner"] = strings.Join(winnerarr, ",")
-				}
+				//				if len(m1) > 0 {
+				//					//str := ","
+				//					winnerarr := []string{}
+				//					for k, _ := range m1 {
+				//						//str += k + ","
+				//						winnerarr = append(winnerarr, k)
+				//					}
+				//					update["s_winner"] = strings.Join(winnerarr, ",")
+				//				}
 			}
 			//------------------对比结束
-
-			//处理key descript
-			//		if bkey == "" {
-			//			DealInfo(&tmp, &update)
-			//		}
 			//同时保存到elastic
 			for tk, tv := range update {
 				tmp[tk] = tv
 			}
 			//对projectscope字段的索引处理
 			ps, _ := tmp["projectscope"].(string)
-			if ps == "" {
-				tmp["projectscope"] = "" //= tmp["detail"]
-			}
+			//			if ps == "" {
+			//				tmp["projectscope"] = ""
+			//			}
 			if len(ps) > ESLEN {
 				tmp["projectscope"] = string(([]rune(ps))[:4000])
 			}
-			if s_budget := fmt.Sprint(tmp["budget"]); s_budget == "" || s_budget == "<nil>" || s_budget == "null" {
-				tmp["budget"] = nil
-			} else if sbd, ok := tmp["budget"].(string); ok {
-				tmp["budget"] = ObjToMoney([]interface{}{sbd, sbd})[0]
-			}
-			if s_bidamount := fmt.Sprint(tmp["bidamount"]); s_bidamount == "" || s_bidamount == "<nil>" || s_bidamount == "null" {
-				tmp["bidamount"] = nil
-			} else if sbd, ok := tmp["bidamount"].(string); ok {
-				tmp["bidamount"] = ObjToMoney([]interface{}{sbd, sbd})[0]
-			}
-			//		for k1, _ := range tmp {
-			//			if strings.HasSuffix(k1, "_b") || k1 == "contenthtml" {
-			//				delete(tmp, k1)
+
+			//预算和中标金额
+			//			if s_budget := fmt.Sprint(tmp["budget"]); s_budget == "" || s_budget == "<nil>" || s_budget == "null" {
+			//				tmp["budget"] = nil
+			//			} else if sbd, ok := tmp["budget"].(string); ok {
+			//				tmp["budget"] = ObjToMoney([]interface{}{sbd, sbd})[0]
 			//			}
-			//		}
+			//			if s_bidamount := fmt.Sprint(tmp["bidamount"]); s_bidamount == "" || s_bidamount == "<nil>" || s_bidamount == "null" {
+			//				tmp["bidamount"] = nil
+			//			} else if sbd, ok := tmp["bidamount"].(string); ok {
+			//				tmp["bidamount"] = ObjToMoney([]interface{}{sbd, sbd})[0]
+			//			}
+
 			//go IS.Add("bidding")
 			UpdatesLock.Lock()
 			if qutil.IntAll(update["extracttype"]) != -1 {
 				newTmp := map[string]interface{}{}
 				for _, v := range biddingIndexFields { //
-					if tmp[v] != nil {
+					if tmp[v] != nil && del[v] == nil { //
 						if "projectinfo" == v {
 							mp, _ := tmp[v].(map[string]interface{})
 							if mp != nil {
@@ -232,8 +228,8 @@ func biddingAllTask(data []byte, mapInfo map[string]interface{}) {
 										}
 									}
 								}
+								con = FilterDetailSpace(con)
 								if con != "" {
-									con = FilterDetailSpace(con)
 									newTmp["attachments"] = con
 								}
 							}
@@ -245,21 +241,19 @@ func biddingAllTask(data []byte, mapInfo map[string]interface{}) {
 								newTmp[v] = tmp[v]
 							}
 						}
-					} else if v == "budget" || v == "bidamount" {
+					} /*else if v == "budget" || v == "bidamount" {
 						newTmp[v] = nil
-					}
+					}*/
 				}
 				arrEs = append(arrEs, newTmp)
 			}
 			if len(update) > 0 {
-				arr = append(arr, []map[string]interface{}{
-					map[string]interface{}{
-						"_id": tmp["_id"],
-					},
-					map[string]interface{}{
-						"$set": update,
-					},
-				})
+				queryId := map[string]interface{}{"_id": tmp["_id"]}
+				set := map[string]interface{}{"$set": update}
+				if len(del) > 0 { //删除的数据
+					set["$unset"] = del
+				}
+				arr = append(arr, []map[string]interface{}{queryId, set})
 			}
 			if len(arr) >= BulkSize {
 				mgo.UpdateBulkAll(db, c, arr...)
@@ -274,9 +268,9 @@ func biddingAllTask(data []byte, mapInfo map[string]interface{}) {
 				arrEs = []map[string]interface{}{}
 			}
 			UpdatesLock.Unlock()
-		}(tmp, update, compare, bnil)
-		if n%100 == 0 {
-			log.Println("current:", n)
+		}(tmp, update, compare, del, bnil)
+		if n%1000 == 0 {
+			log.Println("current:", n, tmp["_id"])
 		}
 		tmp = make(map[string]interface{})
 	}

+ 37 - 36
udpcreateindex/src/biddingdata.go

@@ -1,7 +1,7 @@
 package main
 
 import (
-	"fmt"
+	//	"fmt"
 	"log"
 	qutil "qfw/util"
 	elastic "qfw/util/elastic"
@@ -48,6 +48,7 @@ var indexfield = []string{
 	"buyerclass",
 	"district",
 	"topscopeclass",
+	"attachments",
 }
 
 //招标数据表和抽取表一一对应开始更新
@@ -179,32 +180,32 @@ func biddingDataTask(data []byte, mapInfo map[string]interface{}) {
 					update["subscopeclass"] = newclass
 				}
 				//处理中标企业
-				winner, _ := compare["winner"].(string)
-				m1 := map[string]bool{}
-				if winner != "" {
-					m1[winner] = true
-				}
-				package1 := compare["package"]
-				if package1 != nil {
-					packageM, _ := package1.(map[string]interface{})
-					for _, p := range packageM {
-						pm, _ := p.(map[string]interface{})
-						pw, _ := pm["winner"].(string)
-						if pw != "" {
-							m1[pw] = true
-						}
-					}
-				}
+				//				winner, _ := compare["winner"].(string)
+				//				m1 := map[string]bool{}
+				//				if winner != "" {
+				//					m1[winner] = true
+				//				}
+				//				package1 := compare["package"]
+				//				if package1 != nil {
+				//					packageM, _ := package1.(map[string]interface{})
+				//					for _, p := range packageM {
+				//						pm, _ := p.(map[string]interface{})
+				//						pw, _ := pm["winner"].(string)
+				//						if pw != "" {
+				//							m1[pw] = true
+				//						}
+				//					}
+				//				}
 				compare = nil
-				if len(m1) > 0 {
-					//str := ","
-					winnerarr := []string{}
-					for k, _ := range m1 {
-						//str += k + ","
-						winnerarr = append(winnerarr, k)
-					}
-					update["s_winner"] = strings.Join(winnerarr, ",")
-				}
+				//				if len(m1) > 0 {
+				//					//str := ","
+				//					winnerarr := []string{}
+				//					for k, _ := range m1 {
+				//						//str += k + ","
+				//						winnerarr = append(winnerarr, k)
+				//					}
+				//					update["s_winner"] = strings.Join(winnerarr, ",")
+				//				}
 			}
 			//------------------对比结束
 
@@ -220,16 +221,16 @@ func biddingDataTask(data []byte, mapInfo map[string]interface{}) {
 			if len(ps) > ESLEN {
 				tmp["projectscope"] = string(([]rune(ps))[:4000])
 			}
-			if s_budget := fmt.Sprint(tmp["budget"]); s_budget == "" || s_budget == "<nil>" || s_budget == "null" {
-				tmp["budget"] = nil
-			} else if sbd, ok := tmp["budget"].(string); ok {
-				tmp["budget"] = ObjToMoney([]interface{}{sbd, sbd})[0]
-			}
-			if s_bidamount := fmt.Sprint(tmp["bidamount"]); s_bidamount == "" || s_bidamount == "<nil>" || s_bidamount == "null" {
-				tmp["bidamount"] = nil
-			} else if sbd, ok := tmp["bidamount"].(string); ok {
-				tmp["bidamount"] = ObjToMoney([]interface{}{sbd, sbd})[0]
-			}
+			//			if s_budget := fmt.Sprint(tmp["budget"]); s_budget == "" || s_budget == "<nil>" || s_budget == "null" {
+			//				tmp["budget"] = nil
+			//			} else if sbd, ok := tmp["budget"].(string); ok {
+			//				tmp["budget"] = ObjToMoney([]interface{}{sbd, sbd})[0]
+			//			}
+			//			if s_bidamount := fmt.Sprint(tmp["bidamount"]); s_bidamount == "" || s_bidamount == "<nil>" || s_bidamount == "null" {
+			//				tmp["bidamount"] = nil
+			//			} else if sbd, ok := tmp["bidamount"].(string); ok {
+			//				tmp["bidamount"] = ObjToMoney([]interface{}{sbd, sbd})[0]
+			//			}
 
 			if qutil.IntAll(update["extracttype"]) != -1 {
 				newTmp := map[string]interface{}{}

+ 41 - 42
udpcreateindex/src/biddingindex.go

@@ -2,7 +2,6 @@ package main
 
 import (
 	"encoding/json"
-	"fmt"
 	"log"
 	mu "mfw/util"
 	"net"
@@ -143,32 +142,32 @@ func doIndex(infos []map[string]interface{}, eMap map[string]map[string]interfac
 				update["subscopeclass"] = newclass
 			}
 			//处理中标企业
-			winner, _ := compare["winner"].(string)
-			m1 := map[string]bool{}
-			if winner != "" {
-				m1[winner] = true
-			}
-			package1 := compare["package"]
-			if package1 != nil {
-				packageM, _ := package1.(map[string]interface{})
-				for _, p := range packageM {
-					pm, _ := p.(map[string]interface{})
-					pw, _ := pm["winner"].(string)
-					if pw != "" {
-						m1[pw] = true
-					}
-				}
-			}
+			//			winner, _ := compare["winner"].(string)
+			//			m1 := map[string]bool{}
+			//			if winner != "" {
+			//				m1[winner] = true
+			//			}
+			//			package1 := compare["package"]
+			//			if package1 != nil {
+			//				packageM, _ := package1.(map[string]interface{})
+			//				for _, p := range packageM {
+			//					pm, _ := p.(map[string]interface{})
+			//					pw, _ := pm["winner"].(string)
+			//					if pw != "" {
+			//						m1[pw] = true
+			//					}
+			//				}
+			//			}
 			compare = nil
-			if len(m1) > 0 {
-				//str := ","
-				winnerarr := []string{}
-				for k, _ := range m1 {
-					//str += k + ","
-					winnerarr = append(winnerarr, k)
-				}
-				update["s_winner"] = strings.Join(winnerarr, ",")
-			}
+			//			if len(m1) > 0 {
+			//				//str := ","
+			//				winnerarr := []string{}
+			//				for k, _ := range m1 {
+			//					//str += k + ","
+			//					winnerarr = append(winnerarr, k)
+			//				}
+			//				update["s_winner"] = strings.Join(winnerarr, ",")
+			//			}
 		}
 		//------------------对比结束
 
@@ -182,22 +181,22 @@ func doIndex(infos []map[string]interface{}, eMap map[string]map[string]interfac
 		}
 		//对projectscope字段的索引处理
 		ps, _ := tmp["projectscope"].(string)
-		if ps == "" {
-			tmp["projectscope"] = "" //= tmp["detail"]
-		}
+		//		if ps == "" {
+		//			tmp["projectscope"] = "" //= tmp["detail"]
+		//		}
 		if len(ps) > ESLEN {
 			tmp["projectscope"] = string(([]rune(ps))[:4000])
 		}
-		if s_budget := fmt.Sprint(tmp["budget"]); s_budget == "" || s_budget == "<nil>" || s_budget == "null" {
-			tmp["budget"] = nil
-		} else if sbd, ok := tmp["budget"].(string); ok {
-			tmp["budget"] = ObjToMoney([]interface{}{sbd, sbd})[0]
-		}
-		if s_bidamount := fmt.Sprint(tmp["bidamount"]); s_bidamount == "" || s_bidamount == "<nil>" || s_bidamount == "null" {
-			tmp["bidamount"] = nil
-		} else if sbd, ok := tmp["bidamount"].(string); ok {
-			tmp["bidamount"] = ObjToMoney([]interface{}{sbd, sbd})[0]
-		}
+		//		if s_budget := fmt.Sprint(tmp["budget"]); s_budget == "" || s_budget == "<nil>" || s_budget == "null" {
+		//			tmp["budget"] = nil
+		//		} else if sbd, ok := tmp["budget"].(string); ok {
+		//			tmp["budget"] = ObjToMoney([]interface{}{sbd, sbd})[0]
+		//		}
+		//		if s_bidamount := fmt.Sprint(tmp["bidamount"]); s_bidamount == "" || s_bidamount == "<nil>" || s_bidamount == "null" {
+		//			tmp["bidamount"] = nil
+		//		} else if sbd, ok := tmp["bidamount"].(string); ok {
+		//			tmp["bidamount"] = ObjToMoney([]interface{}{sbd, sbd})[0]
+		//		}
 		UpdatesLock.Lock()
 		//		for k1, _ := range tmp {
 		//			if strings.HasSuffix(k1, "_b") || k1 == "contenthtml" {
@@ -236,8 +235,8 @@ func doIndex(infos []map[string]interface{}, eMap map[string]map[string]interfac
 									}
 								}
 							}
+							con = FilterDetailSpace(con)
 							if con != "" {
-								con = FilterDetailSpace(con)
 								newTmp["attachments"] = con
 							}
 						}
@@ -249,9 +248,9 @@ func doIndex(infos []map[string]interface{}, eMap map[string]map[string]interfac
 							newTmp[v] = tmp[v]
 						}
 					}
-				} else if v == "budget" || v == "bidamount" {
+				} /*else if v == "budget" || v == "bidamount" {
 					newTmp[v] = nil
-				}
+				}*/
 			}
 			arrEs = append(arrEs, newTmp)
 		}

+ 33 - 16
udpcreateindex/src/biddingindexback.go

@@ -1,7 +1,6 @@
 package main
 
 import (
-	"fmt"
 	"log"
 	qutil "qfw/util"
 	elastic "qfw/util/elastic"
@@ -86,22 +85,22 @@ func biddingBackTask(data []byte, mapInfo map[string]interface{}) {
 		}
 
 		ps, _ := tmp["projectscope"].(string)
-		if ps == "" {
-			tmp["projectscope"] = "" //= tmp["detail"]
-		}
+		//		if ps == "" {
+		//			tmp["projectscope"] = "" //= tmp["detail"]
+		//		}
 		if len(ps) > ESLEN {
 			tmp["projectscope"] = string(([]rune(ps))[:4000])
 		}
-		if s_budget := fmt.Sprint(tmp["budget"]); s_budget == "" || s_budget == "<nil>" || s_budget == "null" {
-			tmp["budget"] = nil
-		} else if sbd, ok := tmp["budget"].(string); ok {
-			tmp["budget"] = ObjToMoney([]interface{}{sbd, sbd})[0]
-		}
-		if s_bidamount := fmt.Sprint(tmp["bidamount"]); s_bidamount == "" || s_bidamount == "<nil>" || s_bidamount == "null" {
-			tmp["bidamount"] = nil
-		} else if sbd, ok := tmp["bidamount"].(string); ok {
-			tmp["bidamount"] = ObjToMoney([]interface{}{sbd, sbd})[0]
-		}
+		//		if s_budget := fmt.Sprint(tmp["budget"]); s_budget == "" || s_budget == "<nil>" || s_budget == "null" {
+		//			tmp["budget"] = nil
+		//		} else if sbd, ok := tmp["budget"].(string); ok {
+		//			tmp["budget"] = ObjToMoney([]interface{}{sbd, sbd})[0]
+		//		}
+		//		if s_bidamount := fmt.Sprint(tmp["bidamount"]); s_bidamount == "" || s_bidamount == "<nil>" || s_bidamount == "null" {
+		//			tmp["bidamount"] = nil
+		//		} else if sbd, ok := tmp["bidamount"].(string); ok {
+		//			tmp["bidamount"] = ObjToMoney([]interface{}{sbd, sbd})[0]
+		//		}
 		UpdatesLock.Lock()
 		newTmp := map[string]interface{}{}
 		for _, v := range biddingIndexFields {
@@ -116,6 +115,24 @@ func biddingBackTask(data []byte, mapInfo map[string]interface{}) {
 							}
 						}
 						newTmp[v] = newmap
+						attachments := mp["attachments"]
+						con := ""
+						if attachments != nil {
+							am, _ := attachments.(map[string]interface{})
+							if am != nil {
+								for _, v1 := range am {
+									vm, _ := v1.(map[string]interface{})
+									if vm != nil {
+										c, _ := vm["content"].(string)
+										con += c
+									}
+								}
+							}
+						}
+						con = FilterDetailSpace(con)
+						if con != "" {
+							newTmp["attachments"] = con
+						}
 					}
 				} else {
 					if v == "detail" {
@@ -125,9 +142,9 @@ func biddingBackTask(data []byte, mapInfo map[string]interface{}) {
 						newTmp[v] = tmp[v]
 					}
 				}
-			} else if v == "budget" || v == "bidamount" {
+			} /* else if v == "budget" || v == "bidamount" {
 				newTmp[v] = nil
-			}
+			}*/
 		}
 		arrEs = append(arrEs, newTmp)
 		if len(arrEs) >= BulkSizeBack {

+ 15 - 16
udpcreateindex/src/config.json

@@ -1,13 +1,13 @@
 {
     "udpport": ":1483",
-    "msg_server": "192.168.3.207:27092",
+    "msg_server": "10.171.112.160:7070",
 	"savedb": {
-        "addr": "192.168.3.207:27092",
-        "size": 6,
-        "db": "extract_v3"
+        "addr": "172.17.4.187:27083",
+        "size": 10,
+        "db": "qfw"
     },
     "jkmail": {
-        "to":"renzheng@topnet.net.cn",
+        "to":"zhangjinkun@topnet.net.cn",
 		"api":"http://10.171.112.160:19281/_send/_mail"
     },
     "winner": {
@@ -30,31 +30,30 @@
     },
     "bidding": {
         "db": "qfw",
-        "collect": "bidding",
-        "index": "bidding",
+        "collect": "bidding_back",
+        "index": "bidding_v1",
         "type": "bidding",
-        "extractdb": "extract_v3",
-        "extractcollect": "result_v3",
-        "indexfields": [
-            "_id","district","topscopeclass","s_winner","winner","buyerclass","title","detail","area","site","bidopendate","bidopentime","buyer","city","comeintime","href","infoformat","projectcode","projectname","publishtime","s_sha","spidercode","subtype","toptype","agency","budget","bidamount","s_subscopeclass","projectscope","bidstatus","projectinfo","buyertel","buyerperson","buyeraddr","buyerzipcode","winnertel","winnerperson","projectid"
+        "extractdb": "qfw",
+        "extractcollect": "result_20200116",
+        "indexfields":[ "buyerzipcode","winnertel","winnerperson","contractcode","winneraddr","agencyaddr","buyeraddr","signaturedate","projectperiod","projectaddr","agencytel","agencyperson","buyerperson","agency","projectscope","projectcode","bidopentime","supervisorrate","buyertel","bidamount","winner","buyer","budget","projectname","bidstatus","buyerclass","topscopeclass","s_subscopeclass","area","city","district","s_winner","_id","title","detail","site","comeintime","href","infoformat","publishtime","s_sha","spidercode","subtype","toptype","projectinfo"
         ],
-        "fields": "buyerclass,projectname,projectcode,bidamount,budget,agency,amount,winner,buyer,bidopendate,bidopentime,bidstatus,projectscope,buyertel,buyerperson,buyeraddr,buyerzipcode,city,area,district,topscopeclass,winnertel,winnerperson",
+        "fields": "buyerzipcode,winnertel,winnerperson,contractcode,winneraddr,agencyaddr,buyeraddr,signaturedate,projectperiod,projectaddr,agencytel,agencyperson,buyerperson,agency,projectscope,projectcode,bidopentime,supervisorrate,buyertel,bidamount,winner,buyer,budget,projectname,buyerclass,topscopeclass,area,city,district,s_winner",
         "projectinfo": "approvecode,approvecontent,approvestatus,approvetime,industry",
         "multiIndex": ""
     },
     "project": {
-        "db": "qfw",
-        "collect": "projectset",
+        "db": "extract_kf",
+        "collect": "huawei_project",
         "index": "projectset_v1",
         "type": "projectset"
     },
     "mongodb": {
-        "addr": "192.168.3.207:27092",
+        "addr": "10.172.242.243:27080,10.30.94.175:27081,10.81.232.246:27082",
         "pool": 10,
         "db": "qfw"
     },
     "elastic": {
-        "addr": "http://39.96.199.144:9800",
+        "addr": "http://172.17.145.170:9800",
         "pool": 12
     }
 }

+ 10 - 8
udpcreateindex/src/projectindex.go

@@ -1,7 +1,7 @@
 package main
 
 import (
-	"fmt"
+	//"fmt"
 	"log"
 	"qfw/util"
 	elastic "qfw/util/elastic"
@@ -31,19 +31,21 @@ func projectTask(data []byte, mapInfo map[string]interface{}) {
 
 	log.Println(db, c, "查询语句:", q, "同步总数:", count, "elastic库:", index)
 	query := session.DB(db).C(c).Find(q).Iter()
-
 	arr := make([]map[string]interface{}, savesizei)
 	var n int
 	i := 0
 	for tmp := make(map[string]interface{}); query.Next(tmp); i = i + 1 {
 		delete(tmp, "package")
 		delete(tmp, "winnerorder")
-		if s_budget := fmt.Sprint(tmp["budget"]); s_budget == "" || s_budget == "<nil>" || s_budget == "null" {
-			tmp["budget"] = nil
-		}
-		if s_bidamount := fmt.Sprint(tmp["bidamount"]); s_bidamount == "" || s_bidamount == "<nil>" || s_bidamount == "null" {
-			tmp["bidamount"] = nil
-		}
+		delete(tmp, "infofield")
+		delete(tmp, "budgettag")
+		delete(tmp, "bidamounttag")
+		//		if s_budget := fmt.Sprint(tmp["budget"]); s_budget == "" || s_budget == "<nil>" || s_budget == "null" {
+		//			tmp["budget"] = nil
+		//		}
+		//		if s_bidamount := fmt.Sprint(tmp["bidamount"]); s_bidamount == "" || s_bidamount == "<nil>" || s_bidamount == "null" {
+		//			tmp["bidamount"] = nil
+		//		}
 		//go IS.Add("project")
 		arr[i] = tmp
 		n++