|
@@ -29,7 +29,7 @@ var ContentInfo = make(map[string][]map[string]interface{})
|
|
|
var positionUser = map[string]string{}
|
|
|
|
|
|
// 三级页详情获取
|
|
|
-var biddingInfo map[string]string
|
|
|
+var biddingInfo map[string]map[string]interface{}
|
|
|
|
|
|
// 数据库中数据初始化
|
|
|
var subInItInfo map[string]map[string]string
|
|
@@ -58,7 +58,7 @@ func (t *Task) ShuaKu(start, end int64) {
|
|
|
ContentInfo = make(map[string][]map[string]interface{})
|
|
|
subInfo = make(map[string]map[string]string)
|
|
|
searchHandle(start, end)
|
|
|
- biddingInfo = map[string]string{}
|
|
|
+ biddingInfo = map[string]map[string]interface{}{}
|
|
|
ContentHandle(start, end)
|
|
|
//批量处理入库
|
|
|
for userId, v := range SearchInfo {
|
|
@@ -118,6 +118,12 @@ func (t *Task) ShuaKu(start, end int64) {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ SearchInfo = make(map[string][]map[string]interface{})
|
|
|
+ ContentInfo = make(map[string][]map[string]interface{})
|
|
|
+ subInfo = make(map[string]map[string]string)
|
|
|
+ biddingInfo = map[string]map[string]interface{}{}
|
|
|
+ positionUser = map[string]string{}
|
|
|
+ subInItInfo = map[string]map[string]string{}
|
|
|
}
|
|
|
|
|
|
func UserHandle() {
|
|
@@ -146,7 +152,7 @@ func UserHandle() {
|
|
|
func searchHandle(start, end int64) {
|
|
|
startTime := primitive.NewObjectIDFromTimestamp(time.Unix(start, 0))
|
|
|
endTime := primitive.NewObjectIDFromTimestamp(time.Unix(end, 0))
|
|
|
- logx.Info("start。。。", start, end)
|
|
|
+ logx.Info("start。。。", start, end, startTime, endTime)
|
|
|
sess := MgoLog.GetMgoConn()
|
|
|
defer MgoLog.DestoryMongoConn(sess)
|
|
|
it := sess.DB("qfw").C("jy_search_log").Find(map[string]interface{}{
|
|
@@ -238,7 +244,11 @@ func ContentHandle(start, end int64) {
|
|
|
"$gte": startTime,
|
|
|
"$lt": endTime,
|
|
|
},
|
|
|
- }).Sort("_id").Select(map[string]interface{}{}).Iter()
|
|
|
+ }).Sort("_id").Select(map[string]interface{}{
|
|
|
+ "date": 1,
|
|
|
+ "url": 1,
|
|
|
+ "userid": 1,
|
|
|
+ }).Iter()
|
|
|
for m := make(map[string]interface{}); it.Next(&m); {
|
|
|
numb++
|
|
|
if numb%1000 == 0 {
|
|
@@ -255,7 +265,11 @@ func ContentHandle(start, end int64) {
|
|
|
"$gte": startTime,
|
|
|
"$lt": endTime,
|
|
|
},
|
|
|
- }).Sort("_id").Select(map[string]interface{}{}).Iter()
|
|
|
+ }).Sort("_id").Select(map[string]interface{}{
|
|
|
+ "date": 1,
|
|
|
+ "url": 1,
|
|
|
+ "userid": 1,
|
|
|
+ }).Iter()
|
|
|
for m := make(map[string]interface{}); it1.Next(&m); {
|
|
|
numb++
|
|
|
if numb%1000 == 0 {
|
|
@@ -306,29 +320,35 @@ func InformationHandle(m map[string]interface{}, data map[string][]map[string]in
|
|
|
}
|
|
|
//分类标签,bidding表gov_classify.root,过滤掉只有一级的,取最后一级
|
|
|
rootStr := ""
|
|
|
+ area := ""
|
|
|
if _, ok := biddingInfo[infoId]; !ok {
|
|
|
- bidding, _ := MgoBidding.FindById("bidding", infoId, "gov_classify")
|
|
|
- biddingInfo[infoId] = ""
|
|
|
- if bidding != nil {
|
|
|
+ bidding, _ := MgoBidding.FindById("bidding", infoId, `{"gov_classify":1,"area":1}`)
|
|
|
+ biddingInfo[infoId] = map[string]interface{}{}
|
|
|
+ if bidding == nil {
|
|
|
return
|
|
|
}
|
|
|
gov_classify := gconv.Map((*bidding)["gov_classify"])
|
|
|
- if gov_classify == nil {
|
|
|
+ area = gconv.String((*bidding)["area"])
|
|
|
+ if gov_classify != nil {
|
|
|
root := strings.Split(gconv.String(gov_classify["root"]), "/")
|
|
|
if len(root) == 0 {
|
|
|
return
|
|
|
} else {
|
|
|
- for i := len(root) - 1; i >= 0; i-- {
|
|
|
+ for i := len(root) - 1; i >= 1; i-- {
|
|
|
if root[i] != "" {
|
|
|
rootStr = root[i]
|
|
|
- biddingInfo[infoId] = rootStr
|
|
|
+ biddingInfo[infoId] = map[string]interface{}{
|
|
|
+ "area": area,
|
|
|
+ "rootStr": rootStr,
|
|
|
+ }
|
|
|
break
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
- rootStr = biddingInfo[infoId]
|
|
|
+ rootStr = gconv.String(biddingInfo[infoId]["rootStr"])
|
|
|
+ area = gconv.String(biddingInfo[infoId]["area"])
|
|
|
}
|
|
|
if rootStr == "" {
|
|
|
return
|
|
@@ -338,8 +358,8 @@ func InformationHandle(m map[string]interface{}, data map[string][]map[string]in
|
|
|
"classify": rootStr, //分类标签,bidding表gov_classify.root,过滤掉只有一级的,取最后一级
|
|
|
"datetimeInt": gconv.Int64(m["date"]), //访问时间
|
|
|
"datetime": time.Unix(gconv.Int64(m["date"]), 0).Format("2006-01-02 15:04:05"), //搜索时间
|
|
|
+ "area": area,
|
|
|
}
|
|
|
- logx.Info("1111", gconv.String(m["url"]))
|
|
|
if _, ok := data[userId]; ok {
|
|
|
data[userId] = append(data[userId], searchMap)
|
|
|
} else {
|