|
@@ -213,7 +213,7 @@ func dealWithDataMemory() {
|
|
|
runtime.ReadMemStats(&m)
|
|
|
men :=util.ToMegaBytes(m.HeapAlloc)
|
|
|
log.Printf("current index %d\tos %.2f M",initnum, men)
|
|
|
- if men>7.5*1024 { //7.5G
|
|
|
+ if men>5*1024 { //7.5G
|
|
|
saveIdArr = append(saveIdArr, map[string]string{
|
|
|
"start":start_id,
|
|
|
"end":util.BsonTOStringId(tmp["_id"]),
|
|
@@ -245,13 +245,17 @@ func dealWithDataMemory() {
|
|
|
|
|
|
func temporaryTest() {
|
|
|
log.Println("测试......导出数据")
|
|
|
- q := map[string]interface{}{}
|
|
|
+ q := map[string]interface{}{
|
|
|
+ "check_history":map[string]interface{}{
|
|
|
+ "$exists":0,
|
|
|
+ },
|
|
|
+ }
|
|
|
sess := MixDataMgo.GetMgoConn()
|
|
|
defer MixDataMgo.DestoryMongoConn(sess)
|
|
|
//多线程升索引
|
|
|
- pool_es := make(chan bool, 10)
|
|
|
+ pool_es := make(chan bool, 20)
|
|
|
wg_es := &sync.WaitGroup{}
|
|
|
- it := sess.DB(MixDataMgo.DbName).C("zk_company_test").Find(&q).Iter()
|
|
|
+ it := sess.DB(MixDataMgo.DbName).C("winner_err_new").Find(&q).Iter()
|
|
|
total,isOK:=0,0
|
|
|
for tmp := make(map[string]interface{}); it.Next(&tmp); total++ {
|
|
|
if total % 1000 == 0 {
|
|
@@ -259,27 +263,38 @@ func temporaryTest() {
|
|
|
}
|
|
|
|
|
|
name:=util.ObjToString(tmp["name"])
|
|
|
+ tmpid := util.BsonTOStringId(tmp["_id"])
|
|
|
pool_es <- true
|
|
|
wg_es.Add(1)
|
|
|
|
|
|
- go func(name string) {
|
|
|
+ go func(name string,tmpid string) {
|
|
|
defer func() {
|
|
|
<-pool_es
|
|
|
wg_es.Done()
|
|
|
}()
|
|
|
new_name,b :=dealWithNameScoreRules(name)
|
|
|
+ //log.Println(b,name,new_name,tmpid)
|
|
|
if new_name!="" && b {
|
|
|
isOK++
|
|
|
- MixDataMgo.Save("zk_words_test_test", map[string]interface{}{
|
|
|
- "name":name,
|
|
|
- "new_name":new_name,
|
|
|
+ MixDataMgo.UpdateById("winner_err_new",tmpid,map[string]interface{}{
|
|
|
+ "$set": map[string]interface{}{
|
|
|
+ "is_word": 1,
|
|
|
+ "name_word" : new_name,
|
|
|
+ },
|
|
|
+ })
|
|
|
+ }else {
|
|
|
+ MixDataMgo.UpdateById("winner_err_new",tmpid,map[string]interface{}{
|
|
|
+ "$set": map[string]interface{}{
|
|
|
+ "is_word": -1,
|
|
|
+ "name_word" : new_name,
|
|
|
+ },
|
|
|
})
|
|
|
}
|
|
|
- }(name)
|
|
|
+ }(name,tmpid)
|
|
|
tmp = make(map[string]interface{})
|
|
|
}
|
|
|
|
|
|
wg_es.Wait()
|
|
|
|
|
|
- log.Println("is over",total)
|
|
|
+ log.Println("is over",total,isOK)
|
|
|
}
|