瀏覽代碼

不同集群,支持不同分片

wcc 1 年之前
父節點
當前提交
c0ebbd77cc
共有 4 個文件被更改,包括 58 次插入84 次删除
  1. 1 0
      pre_extract/config.go
  2. 3 1
      pre_extract/config.toml
  3. 54 53
      pre_extract/es.go
  4. 0 30
      pre_extract/pre_test.go

+ 1 - 0
pre_extract/config.go

@@ -45,6 +45,7 @@ type EsConf struct {
 	URL      string
 	Username string
 	Password string
+	Shares   string
 }
 
 type EmailConf struct {

+ 3 - 1
pre_extract/config.toml

@@ -23,7 +23,7 @@
     nextport = "1177"           ## 调用抽取端口
     localport = ":1176"         ## 本地监听端口
     send = false                ## 是否给抽取发送数据;正式环境应为 true
-    spec = "0 00 23 * * *"      ## 每天23点执行;已日更新的方式创建索引
+    spec = "0 31 16 * * *"      ## 每天23点执行;已日更新的方式创建索引
     ## spec = "0 00 01 * * *"   ## 每天01点执行;适合 按照月份创建索引
     alias = ["bidding_pre","bidding_pre2","bidding_pre3"]      ## 预处理索引别名,支持多个别名
     spectype = "day" ## 定时任务类型;正式环境应该是 month 。day 表示每天创建一个索引;month 表示每个月创建一个
@@ -33,11 +33,13 @@
     url = "http://127.0.0.1:19805" ## 测试环境
     username = "es_all"
     password = "TopJkO2E_d1x"
+    shares = "12" ## 分片数量,测试环境 是2,正式环境应该是12
 
     [es.19905]
     url = "http://127.0.0.1:19905" ## 测试环境
     username = "jybid"
     password = "Top2023_JEB01i@31"
+    shares = "7" ## 分片数量,测试环境 是2,正式环境应该是 7
 
 [email]
     api = "http://172.17.145.179:19281/_send/_mail"

+ 54 - 53
pre_extract/es.go

@@ -15,58 +15,6 @@ import (
 	"time"
 )
 
-var setting = fmt.Sprintf(`    "settings": {
-        "index": {
-            "analysis": {
-                "analyzer": {
-                    "my_ngram_title": {
-                        "filter": [
-                            "lowercase"
-                        ],
-                        "tokenizer": "my_ngram_title"
-                    },
-                    "douhao": {
-                        "type": "pattern",
-                        "pattern": ","
-                    },
-                    "my_ngram": {
-                        "filter": [
-                            "lowercase"
-                        ],
-                        "tokenizer": "my_ngram"
-                    }
-                },
-                "tokenizer": {
-                    "my_ngram_title": {
-                        "token_chars": [
-                            "letter",
-                            "digit",
-                            "punctuation",
-                            "symbol"
-                        ],
-                        "min_gram": "1",
-                        "type": "nGram",
-                        "max_gram": "1"
-                    },
-                    "my_ngram": {
-                        "token_chars": [
-                            "letter",
-                            "digit",
-                            "punctuation",
-                            "symbol"
-                        ],
-                        "min_gram": "2",
-                        "type": "nGram",
-                        "max_gram": "2"
-                    }
-                }
-            },
-            "number_of_shards": "%s",
-            "number_of_replicas": "0",
-            "max_result_window": "20000"
-        }
-    }`, "2")
-
 var mapping = `    "mappings": {
         "dynamic": false,
         "properties": {
@@ -176,7 +124,7 @@ var mapping = `    "mappings": {
 
 //createIndex 创建索引
 func createIndex(clients map[string]*elastic.Client, PreBiddingIndex string) error {
-	createJson := fmt.Sprintf(`{%s,%s}`, setting, mapping)
+	//createJson := fmt.Sprintf(`{%s,%s}`, setting, mapping)
 
 	for k, client := range clients {
 		url := GF.ES[k].URL
@@ -188,6 +136,59 @@ func createIndex(clients map[string]*elastic.Client, PreBiddingIndex string) err
 			log.Info("CreateIndex", zap.String(PreBiddingIndex, "已经存在了"))
 		}
 
+		setting := fmt.Sprintf(`    "settings": {
+        "index": {
+            "analysis": {
+                "analyzer": {
+                    "my_ngram_title": {
+                        "filter": [
+                            "lowercase"
+                        ],
+                        "tokenizer": "my_ngram_title"
+                    },
+                    "douhao": {
+                        "type": "pattern",
+                        "pattern": ","
+                    },
+                    "my_ngram": {
+                        "filter": [
+                            "lowercase"
+                        ],
+                        "tokenizer": "my_ngram"
+                    }
+                },
+                "tokenizer": {
+                    "my_ngram_title": {
+                        "token_chars": [
+                            "letter",
+                            "digit",
+                            "punctuation",
+                            "symbol"
+                        ],
+                        "min_gram": "1",
+                        "type": "nGram",
+                        "max_gram": "1"
+                    },
+                    "my_ngram": {
+                        "token_chars": [
+                            "letter",
+                            "digit",
+                            "punctuation",
+                            "symbol"
+                        ],
+                        "min_gram": "2",
+                        "type": "nGram",
+                        "max_gram": "2"
+                    }
+                }
+            },
+            "number_of_shards": "%s",
+            "number_of_replicas": "0",
+            "max_result_window": "20000"
+        }
+    }`, GF.ES[k].Shares)
+		createJson := fmt.Sprintf(`{%s,%s}`, setting, mapping)
+
 		//1. 开启节点平衡
 		// 设置临时的节点平衡设置
 		balanceSettings := `{

+ 0 - 30
pre_extract/pre_test.go

@@ -2,7 +2,6 @@ package main
 
 import (
 	"fmt"
-	"github.com/robfig/cron/v3"
 	"strconv"
 	"testing"
 	"time"
@@ -23,35 +22,6 @@ func TestMonth(T *testing.T) {
 	fmt.Sprintf(PreBiddingIndex)
 }
 
-func TestCronExpression(t *testing.T) {
-	// 模拟指定时间
-	//testTime := time.Date(2022, time.January, 31, 23, 59, 59, 0, time.UTC)
-	//c := cron.New(cron.WithLocation(testTime.Local().Location()))
-
-	local, _ := time.LoadLocation("Asia/Shanghai")
-	c := cron.New(cron.WithLocation(local), cron.WithSeconds())
-
-	// 定义一个任务函数
-	task := func() {
-		fmt.Println("222222")
-	}
-	// 创建一个cron表达式
-	spec := "* * * * * *"
-	//spec := "59 59 23 * * *"
-
-	// 将任务和cron表达式添加到调度器中,并使用测试时间
-	_, err := c.AddFunc(spec, task)
-	if err != nil {
-		t.Fatalf("添加定时任务失败:%v", err)
-	}
-
-	// 启动调度器
-	c.Start()
-	defer c.Stop()
-
-	select {}
-}
-
 func TestDeleteIndex(t *testing.T) {
 
 	data := map[string]string{