|
@@ -3,24 +3,26 @@ package main
|
|
|
import (
|
|
|
"fmt"
|
|
|
"gopkg.in/mgo.v2/bson"
|
|
|
- "strconv"
|
|
|
- "strings"
|
|
|
-
|
|
|
"log"
|
|
|
"os"
|
|
|
+ util "qfw/util"
|
|
|
"qfw/util/elastic"
|
|
|
. "qfw/util/mongodbutil"
|
|
|
+ "strconv"
|
|
|
+ "strings"
|
|
|
)
|
|
|
|
|
|
var N = 200
|
|
|
|
|
|
//生enterprise表
|
|
|
-func main1() {
|
|
|
+func main() {
|
|
|
+ //src.exe 192.168.3.18:27080 192.168.3.18:27090 http://192.168.3.18:9800 enterprise all enterprise enterprise 2000
|
|
|
// 参数 mongodb(网站库) mongodb(公示库) elastic collection area index-db inde-type N
|
|
|
+ log.Println("-------------开始-----------------")
|
|
|
+ isEnterprise := os.Args[4] == "enterprise"
|
|
|
initConfig(os.Args[1], "web", "qfw")
|
|
|
if os.Args[4] == "enterprise" {
|
|
|
initConfig(os.Args[2], "ecps", "qfw")
|
|
|
-
|
|
|
}
|
|
|
InitMongodbPool()
|
|
|
elastic.InitElastic(os.Args[3])
|
|
@@ -30,34 +32,36 @@ func main1() {
|
|
|
N = n1
|
|
|
}
|
|
|
}
|
|
|
- ecps_session := GetMgoConn("ecps")
|
|
|
var m map[string]interface{}
|
|
|
if os.Args[5] == "all" {
|
|
|
m = nil
|
|
|
} else {
|
|
|
m = bson.M{"Area": os.Args[5]}
|
|
|
}
|
|
|
- log.Printf("%v", m)
|
|
|
+ log.Printf("检索条件:%v", m)
|
|
|
i := 0
|
|
|
- query := ecps_session.DB("qfw").C(os.Args[4]).Find(m).Iter()
|
|
|
- arr := make([]map[string]interface{}, 0)
|
|
|
- for tmp := make(map[string]interface{}); query.Next(tmp); i++ {
|
|
|
- arr = append(arr, tmp)
|
|
|
- if i%N == 0 && i != 0 {
|
|
|
- elastic.BulkSave(os.Args[6], os.Args[7], &arr, true)
|
|
|
- arr = make([]map[string]interface{}, 0)
|
|
|
- log.Printf("当前索引位置:=%d \n", i)
|
|
|
- }
|
|
|
+ var dbType = "web"
|
|
|
+ if isEnterprise {
|
|
|
+ dbType = "ecps"
|
|
|
}
|
|
|
- if len(arr) > 0 {
|
|
|
- elastic.BulkSave(os.Args[6], os.Args[7], &arr, true)
|
|
|
- arr = make([]map[string]interface{}, 0)
|
|
|
+ count := Count(os.Args[4], dbType, "qfw", nil)
|
|
|
+ totalPages := ((count + N - 1) / N)
|
|
|
+ log.Println(util.If(isEnterprise, "公式库", "网站库"), os.Args[4], "表有", count, "条数据", "一共", totalPages, "页")
|
|
|
+ for i := 0; i < totalPages; i++ {
|
|
|
+ arr := Find(os.Args[4], dbType, "qfw", m, nil, nil, false, i*N, N)
|
|
|
+ if isEnterprise {
|
|
|
+ for a, v := range *arr {
|
|
|
+ (*arr)[a] = elastic.ConverData(&v)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ elastic.BulkSave(os.Args[6], os.Args[7], arr, true)
|
|
|
+ log.Println("当前是第", i+1, "页")
|
|
|
}
|
|
|
- if os.Args[4] == "enterprise" {
|
|
|
+ if isEnterprise {
|
|
|
//生成带名片索引
|
|
|
i = 0
|
|
|
count := Count("enterprise", "web", "qfw", m)
|
|
|
- log.Println("网站库,一共", count, "条数据")
|
|
|
+ log.Println("网站库enterprise表,一共", count, "条数据")
|
|
|
for {
|
|
|
limit := i + N
|
|
|
if limit > count {
|
|
@@ -100,9 +104,9 @@ func main1() {
|
|
|
log.Printf("当前索引位置:=%d \n", i)
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+ log.Println("-------------结束-----------------")
|
|
|
}
|
|
|
-func main() {
|
|
|
+func main1() {
|
|
|
// 参数 mongodb(网站库) elastic collection query
|
|
|
initConfig(os.Args[1], "web", "qfw")
|
|
|
InitMongodbPool()
|