From 1a2aec187c89a1feca6354e242aee3c4caa87e7b Mon Sep 17 00:00:00 2001 From: zhangjun <53766543@qq.com> Date: Wed, 1 Jul 2020 14:22:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9es=E7=B4=A2=E5=BC=95mapping?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E7=9B=B8=E5=85=B3=E5=8A=9F=E8=83=BD=E3=80=90?= =?UTF-8?q?keyword,date=E3=80=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dsDataex/Config/Config.ini | 8 +- dsDataex/GenXorm/models/t_dataex_orgtree.go | 23 ++++- .../DataEX/DataexService/DataexService.go | 18 +++- dsDataex/MyService/DataEX/ESData.go | 45 +++++++-- dsDataex/Utils/CacheUtil/OrgtreeCache.go | 59 +++++++++++ dsDataex/Utils/ES7SqlUtil/ES7SqlUtil.go | 78 +++++++++++++++ dsDataex/Utils/ES7TypeUtil/ES7TypeUtil.go | 97 +++++++++++++++++++ dsDataex/Utils/ES7Util/ES7Util.go | 64 +++++++++--- dsDataex/docs/docs.go | 2 +- dsDataex/go.mod | 3 +- dsDataex/go.sum | 4 + dsDataex/main.go | 13 ++- 12 files changed, 377 insertions(+), 37 deletions(-) create mode 100644 dsDataex/Utils/ES7SqlUtil/ES7SqlUtil.go create mode 100644 dsDataex/Utils/ES7TypeUtil/ES7TypeUtil.go diff --git a/dsDataex/Config/Config.ini b/dsDataex/Config/Config.ini index 380c3e10..586ac4e8 100644 --- a/dsDataex/Config/Config.ini +++ b/dsDataex/Config/Config.ini @@ -1,9 +1,9 @@ [mysql] -ip = 127.0.0.1 -port = 3306 -database = db_dataex +ip = 10.10.6.200 +port = 22066 +database = base_db_zhangjun user = root -pwd = dsideal +pwd = DsideaL147258369 [redis] ip = 127.0.0.1 diff --git a/dsDataex/GenXorm/models/t_dataex_orgtree.go b/dsDataex/GenXorm/models/t_dataex_orgtree.go index 7740360b..cc233168 100644 --- a/dsDataex/GenXorm/models/t_dataex_orgtree.go +++ b/dsDataex/GenXorm/models/t_dataex_orgtree.go @@ -5,9 +5,26 @@ import ( ) type TDataexOrgtree struct { - Id string `json:"id" xorm:"not null pk comment('ID【根节点默认为-1】') VARCHAR(36)"` - OrgName string `json:"org_name" xorm:"not null comment('机构名称') VARCHAR(100)"` - OrgType int `json:"org_type" xorm:"not null comment('机构类型【1:教育局、2:学校、3:教辅单位、4:大学区、5:部门、6、主校,7、学段、8:年级、9:班级】') INT(11)"` + Id string `json:"id" xorm:"not null pk comment('ID【根节点默认为-1】') VARCHAR(36)"` + OrgName string `json:"org_name" xorm:"not null comment('机构名称') VARCHAR(100)"` + OrgType int `json:"org_type" xorm:"not null comment('机构类型【1:教育局、2:学校、3:教辅单位、4:大学区、5:部门、6、主校,7、学段、8:年级、9:班级】') INT(11)"` + SchoolType string `json:"school_type" xorm:"default '''' comment('学校办学类别 +【111:幼儿园 +211:小学 +218:小学教学点 +311:初级中学 +312:九年一贯制学校 +321:职业初中 +341:完全中学 +342:高级中学 +345:十二年一贯制学校 +361:中等职业学校 +365:职业高中学校 +411:大学 +415:高等职业学校 +426:广播电视大学 +514:特殊教育学校 +933:其他培训机构】') VARCHAR(3)"` ParentId string `json:"parent_id" xorm:"not null default ''NULL'' comment('父节点ID') VARCHAR(36)"` CatId string `json:"cat_id" xorm:"default 'NULL' comment('层级ID【4位数字一组、右侧多级累加】') VARCHAR(100)"` ProvinceId string `json:"province_id" xorm:"default 'NULL' comment('省编码') VARCHAR(6)"` diff --git a/dsDataex/MyService/DataEX/DataexService/DataexService.go b/dsDataex/MyService/DataEX/DataexService/DataexService.go index 030c75b6..a292bdce 100644 --- a/dsDataex/MyService/DataEX/DataexService/DataexService.go +++ b/dsDataex/MyService/DataEX/DataexService/DataexService.go @@ -224,7 +224,7 @@ func DataexSetBatch(systemID string, datas []MySwagger.Data,datasource *models.T //三、删除原索引文档 var dataIDs []string - for no:=0;no< len(datas) && no<100 ;no++ { + for no:=0;no< len(datas) && no<1000 ;no++ { dataIDs = append(dataIDs, datas[no].DataID) } @@ -239,15 +239,15 @@ func DataexSetBatch(systemID string, datas []MySwagger.Data,datasource *models.T var failIDs []string //四、循环添加索引文档 - for no:=0;no< len(datas) && no<100 ;no++{ + for no:=0;no< len(datas) && no<1000 ;no++{ var esData2 DataEX.ESData esData2.SystemId=systemID esData2.DatasourceId=datasource.DatasourceCode esData2.EnableFlag=1 - esData2.BeginTime = now - esData2.EndTime =time.Date(9999,9,9,9,9,9,0,time.Now().Location()) + esData2.BeginTime = DataEX.JsonDate(now) + esData2.EndTime = DataEX.JsonDate(time.Date(9999,9,9,9,9,9,0,time.Now().Location())) esData2.OrgId=datas[no].OrgID esData2.DelFlag=datas[no].DelFlag @@ -275,8 +275,16 @@ func DataexSetBatch(systemID string, datas []MySwagger.Data,datasource *models.T esData2.AreaName=CacheUtil.GBT2260[data["area_id"].(string)] } + //add by zhangjun 2020-06-29 + if data["school_type"] !=nil{ + esData2.SchoolType = data["school_type"].(string) + esData2.SchoolTypeName = CacheUtil.XXBXLXM[data["school_type"].(string)] + } + esData2.OrgName=data["org_name"].(string) + esData2.OrgType,_=strconv.Atoi(data["org_type"].(string)) + indexData=append(indexData,&esData2) }else { failIDs=append(failIDs,datas[no].DataID) @@ -284,6 +292,8 @@ func DataexSetBatch(systemID string, datas []MySwagger.Data,datasource *models.T } if indexData==nil { + failIDs=nil + return false,"数据机构权限全部不正确",nil,nil } diff --git a/dsDataex/MyService/DataEX/ESData.go b/dsDataex/MyService/DataEX/ESData.go index 176bafe4..bf872a1b 100644 --- a/dsDataex/MyService/DataEX/ESData.go +++ b/dsDataex/MyService/DataEX/ESData.go @@ -1,33 +1,64 @@ package DataEX -import "time" +import ( + "fmt" + "time" +) type ESData struct { SystemId string `json:"system_id"` DatasourceId string `json:"datasource_id"` - ProvinceId string `json:"province_id"` + ProvinceId string `json:"province_code"` ProvinceName string `json:"province_name"` - CityId string `json:"city_id"` + CityId string `json:"city_code"` CityName string `json:"city_name"` - AreaId string `json:"area_id"` - AreaName string `json:"area_name"` + AreaId string `json:"district_code"` + AreaName string `json:"district_name"` BureauId string `json:"bureau_id"` RegionId string `json:"region_id"` MainId string `json:"main_id"` OrgId string `json:"org_id"` OrgName string `json:"org_name" ` OrgType int `json:"org_type"` + SchoolType string `json:"school_type"` + SchoolTypeName string `json:"school_typename"` DeptId string `json:"dept_id"` StageId string `json:"stage_id"` GradeId string `json:"grade_id"` ClassId string `json:"class_id"` DataId string `json:"data_id"` FileUri string `json:"file_uri"` - BeginTime time.Time `json:"begin_time"` - EndTime time.Time `json:"end_time"` + BeginTime JsonDate `json:"begin_time"` + EndTime JsonDate `json:"end_time"` DelFlag int `json:"del_flag"` EnableFlag int `json:"enable_flag"` DataContent map[string]interface{} `json:"data_content"` } + + +//add by zhangjun 2020-07-01 +type JsonDate time.Time + +const ( + timeFormat = "2006/01/02 15:04:05" +) + +// JsonDate反序列化 +func (t *JsonDate) UnmarshalJSON(data []byte) (err error) { + newTime, err := time.ParseInLocation("\""+timeFormat+"\"", string(data), time.Local) + *t = JsonDate(newTime) + return +} + +// JsonDate序列化 +func (t JsonDate) MarshalJSON() ([]byte, error) { + timeStr := fmt.Sprintf("\"%s\"", time.Time(t).Format(timeFormat)) + return []byte(timeStr),nil +} + +// string方法 +func (t JsonDate) String() string { + return time.Time(t).Format(timeFormat) +} diff --git a/dsDataex/Utils/CacheUtil/OrgtreeCache.go b/dsDataex/Utils/CacheUtil/OrgtreeCache.go index d1026844..55eb46e0 100644 --- a/dsDataex/Utils/CacheUtil/OrgtreeCache.go +++ b/dsDataex/Utils/CacheUtil/OrgtreeCache.go @@ -10,6 +10,8 @@ import ( var GBT2260 map[string]string +var XXBXLXM map[string]string + /** * @Author zhangjun * @Description 组织机构树缓存初始化,【机构下属学校】递归查询、并缓存 Redis @@ -54,6 +56,63 @@ func OrgtreeCacheInit(){ for no:=0;no< len(list);no++{ GBT2260[list[no]["area_code"].(string)]=list[no]["area_name"].(string) } + + XXBXLXM=make( map[string]string) + + XXBXLXM["111"]="幼儿园" + XXBXLXM["119"]="附设幼儿班" + XXBXLXM["211"]="小学" + XXBXLXM["218"]="小学教学点" + XXBXLXM["219"]="附设小学班" + XXBXLXM["221"]="职工小学" + XXBXLXM["222"]="农民小学" + XXBXLXM["228"]="小学班" + XXBXLXM["229"]="扫盲班" + XXBXLXM["311"]="初级中学" + XXBXLXM["312"]="九年一贯制学校" + XXBXLXM["319"]="附设普通初中班" + XXBXLXM["321"]="职业初中" + XXBXLXM["329"]="附设职业初中班" + XXBXLXM["331"]="成人职工初中" + XXBXLXM["332"]="成人农民初中" + XXBXLXM["341"]="完全中学" + XXBXLXM["342"]="高级中学" + XXBXLXM["345"]="十二年一贯制学校" + XXBXLXM["349"]="附设普通高中班" + XXBXLXM["351"]="成人职工高中" + XXBXLXM["352"]="成人农民高中" + XXBXLXM["361"]="中等职业学校" + XXBXLXM["362"]="中等技术学校" + XXBXLXM["363"]="中等师范学校" + XXBXLXM["364"]="成人中等专业学校" + XXBXLXM["365"]="职业高中学校" + XXBXLXM["366"]="技工学校" + XXBXLXM["368"]="附设中职班" + XXBXLXM["369"]="其他机构" + XXBXLXM["371"]="工读学校" + XXBXLXM["411"]="大学" + XXBXLXM["412"]="学院" + XXBXLXM["413"]="独立学院" + XXBXLXM["414"]="高等专科学校" + XXBXLXM["415"]="高等职业学校" + XXBXLXM["419"]="分校、大专班" + XXBXLXM["421"]="职工高校" + XXBXLXM["422"]="农民高校" + XXBXLXM["423"]="管理干部学院" + XXBXLXM["424"]="教育学院" + XXBXLXM["425"]="独立函授学院" + XXBXLXM["426"]="广播电视大学" + XXBXLXM["429"]="其他成人高等教育机构" + XXBXLXM["511"]="盲人学校" + XXBXLXM["512"]="聋人学校" + XXBXLXM["513"]="弱智学校" + XXBXLXM["514"]="特殊教育学校" + XXBXLXM["519"]="附设特教班" + XXBXLXM["911"]="培养研究生的科研机构" + XXBXLXM["921"]="民办的其他高等教育机构" + XXBXLXM["931"]="职工技术培训学校" + XXBXLXM["932"]="农村成人文化技术培训学校" + XXBXLXM["933"]="其他培训机构" } /** diff --git a/dsDataex/Utils/ES7SqlUtil/ES7SqlUtil.go b/dsDataex/Utils/ES7SqlUtil/ES7SqlUtil.go new file mode 100644 index 00000000..670da3c8 --- /dev/null +++ b/dsDataex/Utils/ES7SqlUtil/ES7SqlUtil.go @@ -0,0 +1,78 @@ +package ES7SqlUtil + +import ( + "bytes" + "context" + "dsDataex/Utils/ConfigUtil" + "encoding/json" + es7 "github.com/elastic/go-elasticsearch/v7" + "github.com/elastic/go-elasticsearch/v7/esapi" +) + +var ES7Client *es7.Client +var ServerVersion string +var CTX context.Context + +func init() { + + cfg := es7.Config{Addresses: ConfigUtil.ESAddress,} + + ES7Client, _ = es7.NewClient(cfg) + + CTX=context.Background() + + res, _ := ES7Client.Info() + + defer res.Body.Close() + + var result map[string]interface{} + + json.NewDecoder(res.Body).Decode(&result) + + ServerVersion=(result["version"].(map[string]interface{}))["number"].(string) +} + +func SqlQueryJson(sql string) map[string]interface{} { + query := map[string]interface{}{ + "query": sql, + } + jsonBody, _ := json.Marshal(query) + + req := esapi.SQLQueryRequest{ + Body: bytes.NewReader(jsonBody), + Format: "json", + } + + res, _ := req.Do(CTX, ES7Client) + + defer res.Body.Close() + + var result map[string]interface{} + + json.NewDecoder(res.Body).Decode(&result) + + return result +} + +func SqlQueryTxt(sql string) string { + query := map[string]interface{}{ + "query": sql, + } + jsonBody, _ := json.Marshal(query) + + req := esapi.SQLQueryRequest{ + Body: bytes.NewReader(jsonBody), + Format: "txt", + } + + res, _ := req.Do(CTX, ES7Client) + + defer res.Body.Close() + + var bts []byte + + res.Body.Read(bts) + var result=string(bts) + + return result +} \ No newline at end of file diff --git a/dsDataex/Utils/ES7TypeUtil/ES7TypeUtil.go b/dsDataex/Utils/ES7TypeUtil/ES7TypeUtil.go new file mode 100644 index 00000000..d72b6a69 --- /dev/null +++ b/dsDataex/Utils/ES7TypeUtil/ES7TypeUtil.go @@ -0,0 +1,97 @@ +package ES7TypeUtil + +import ( + "context" + "dsDataex/Utils/ConfigUtil" + "dsDataex/Utils/ErrorConst" + "dsDataex/Utils/LogUtil" + "dsDataex/Utils/RedisUtil" + "github.com/olivere/elastic/v7" + "time" +) + +var ES7Client *elastic.Client +var CTX context.Context +var ES7Type map[string]map[string]string + +func init() { + //初始化ES Client,使用配置文件 + ES7Client, _ = elastic.NewClient(elastic.SetURL(ConfigUtil.ESAddress...)) + + CTX=context.Background() + + ES7Type=make(map[string]map[string]string) +} + +func GetES7Type(indexName string,itemName string) (string,error) { + + count,_:= RedisUtil.RedisClient.Exists("ES_Mapping_"+indexName+":"+itemName).Result() + + if count>0{ + + return RedisUtil.RedisClient.Get("ES_Mapping_"+indexName+":"+itemName).Result() + }else{ + //获取ES Mapping + res,_:= ES7Client.GetMapping().Index(indexName).Do(CTX) + + if res==nil{ + + return "ES索引名称错误",nil + } + + //暴力解析ES Mapping!!!!!! + for k, v := range res[indexName].(map[string]interface{}){ + + if k=="mappings"{ + for k2, v2 := range v.(map[string]interface{}){ + if k2=="properties"{ + + ES7Type[indexName]=make(map[string]string) + + for k3, v3 := range v2.(map[string]interface{}) { + + if k3=="data_content"{ + for k4, v4 := range v3.(map[string]interface{}) { + for k5, _ := range v4.(map[string]interface{}) { + + if k4=="fields"{ + ES7Type[indexName]["data_content."+k5]="data_content."+k5+".keyword" + }else{ + ES7Type[indexName]["data_content."+k5]="data_content."+k5 + } + } + } + }else{ + for k4, _ := range v3.(map[string]interface{}) { + + if k4=="fields"{ + ES7Type[indexName][k3]=k3+".keyword" + }else{ + ES7Type[indexName][k3]=k3 + } + } + } + } + } + } + } + } + + //写入Redis 缓存 + pipe := RedisUtil.RedisClient.Pipeline() + + for k, v := range ES7Type[indexName]{ + + pipe.Set("ES_Mapping_"+indexName+":"+k, v, 24*time.Hour) + } + + _, err := pipe.Exec() + + if err != nil { + LogUtil.Error(ErrorConst.SqlQueryError, err.Error()) + } + } + + return ES7Type[indexName][itemName],nil +} + diff --git a/dsDataex/Utils/ES7Util/ES7Util.go b/dsDataex/Utils/ES7Util/ES7Util.go index ebcc9b90..c93b8b45 100644 --- a/dsDataex/Utils/ES7Util/ES7Util.go +++ b/dsDataex/Utils/ES7Util/ES7Util.go @@ -7,6 +7,7 @@ import ( "dsDataex/Utils/CommonUtil" "dsDataex/Utils/ConfigUtil" "dsDataex/Utils/RedisUtil" + "encoding/json" "github.com/olivere/elastic/v7" "reflect" "strconv" @@ -154,8 +155,8 @@ func IndexInit(indexName string,dataex map[string]interface{}) (bool,error) { DataId: "D22010101010101", DataContent: myMap, FileUri: "/path/file", - BeginTime: begin , - EndTime: end, + BeginTime: DataEX.JsonDate(begin) , + EndTime: DataEX.JsonDate(end), DelFlag: -1, EnableFlag: 1, } @@ -163,7 +164,25 @@ func IndexInit(indexName string,dataex map[string]interface{}) (bool,error) { result, err := ES7Client.Index().Index(indexName).Id("2020-2020").BodyJson(dataJson).Do(CTX) if result.Result=="created" { - ES7Client.Delete().Index(indexName).Id("2020-2020").Do(CTX) + //change by zhangjun 2020-06-30 + //ES7Client.Delete().Index(indexName).Id("2020-2020").Do(CTX) + + res,_:= ES7Client.GetMapping().Index(indexName).Do(CTX) + + bytes,_:=json.Marshal( res[indexName] ) + mapping :=string(bytes) + + new :=strings.Replace(mapping,"\"fields\":{\"keyword\":{\"ignore_above\":256,\"type\":\"keyword\"}},","",-1) + new=strings.Replace(new,"{\"mappings\"","{\"settings\":{\"number_of_shards\": 3,\"number_of_replicas\": 1},\"mappings\"",-1) + new=strings.Replace(new,"\"text\"","\"keyword\"",-1) + + //Delete the dafault date format + //new=strings.Replace(new ,"\"format\":\"yyyy/MM/dd HH:mm:ss||yyyy/MM/dd||epoch_millis\",","",-1) + //new=strings.Replace(new,"\"date\"}","\"date\",\"format\":\"yyyy/MM/dd HH:mm:ss||yyyy/MM/dd||epoch_millis\"}",-1) + + ES7Client.DeleteIndex(indexName).Do(CTX) + + ES7Client.CreateIndex(indexName).Body(new).Pretty(true).Do(CTX) return true,nil }else{ @@ -195,8 +214,8 @@ func IndexDatamap(indexName string) map[string]interface{} { * @return **/ func IndexDocAdd(indexName string,indexData *DataEX.ESData) (bool,string,error){ - indexData.BeginTime = time.Now(); - indexData.EndTime =time.Date(9999,9,9,9,9,9,0,time.Now().Location()) + indexData.BeginTime = DataEX.JsonDate(time.Now()); + indexData.EndTime =DataEX.JsonDate(time.Date(9999,9,9,9,9,9,0,time.Now().Location())) newid:=CommonUtil.GetUUID() @@ -284,7 +303,9 @@ func IndexDocAddBatch(indexName string,indexData []*DataEX.ESData) (bool,error,[ **/ func IndexDocDel(indexName string,dataID string) (bool,string,error){ - term := elastic.NewTermQuery("data_id.keyword", dataID) + //change by zhangjun 2020-07-01 + //term := elastic.NewTermQuery("data_id.keyword", dataID) + term := elastic.NewTermQuery("data_id", dataID) term2 := elastic.NewTermQuery("enable_flag", 1) query:=elastic.NewBoolQuery() @@ -314,13 +335,15 @@ func IndexDocDel(indexName string,dataID string) (bool,string,error){ **/ func IndexDocDelBatch(indexName string, end time.Time, dataIDs []string) (bool,string,error){ - term := elastic.NewTermsQuery("data_id.keyword", string2interface(dataIDs)...) + //change by zhangjun 2020-07-01 + //term := elastic.NewTermsQuery("data_id.keyword", string2interface(dataIDs)...) + term := elastic.NewTermsQuery("data_id", string2interface(dataIDs)...) term2 := elastic.NewTermQuery("enable_flag", 1) query:=elastic.NewBoolQuery() query.Filter(term).Filter(term2) - script := elastic.NewScript("ctx._source.enable_flag = 0 ; ctx._source.end_time = params.now ").Param("now", end) + script := elastic.NewScript("ctx._source.enable_flag = 0 ; ctx._source.end_time = params.now ").Param("now", DataEX.JsonDate(end)) response,err:= ES7Client.UpdateByQuery().Index(indexName).Query(query).Script(script).Do(CTX) @@ -338,14 +361,16 @@ func IndexDocDelBatch(indexName string, end time.Time, dataIDs []string) (bool,s func IndexDocDelBatch2(indexName string,end time.Time, dataIDs []string) (bool,string,error){ - term := elastic.NewTermsQuery("data_id.keyword", string2interface(dataIDs)...) + //change by zhangjun 2020-07-01 + //term := elastic.NewTermsQuery("data_id.keyword", string2interface(dataIDs)...) + term := elastic.NewTermsQuery("data_id", string2interface(dataIDs)...) term2 := elastic.NewTermQuery("enable_flag", 1) term3 := elastic.NewRangeQuery("begin_time").Lt(end) query:=elastic.NewBoolQuery() query.Filter(term).Filter(term2).Filter(term3) - script := elastic.NewScript("ctx._source.enable_flag = 0 ; ctx._source.end_time = params.now ").Param("now", end ) + script := elastic.NewScript("ctx._source.enable_flag = 0 ; ctx._source.end_time = params.now ").Param("now", DataEX.JsonDate(end)) response,err:= ES7Client.UpdateByQuery().Index(indexName).Query(query).Script(script).Do(CTX) @@ -363,7 +388,9 @@ func IndexDocDelBatch2(indexName string,end time.Time, dataIDs []string) (bool,s func IndexDocDelRestore(indexName string, end time.Time, dataIDs []string) (bool,string,error){ - term := elastic.NewTermsQuery("data_id.keyword", string2interface(dataIDs)...) + //change by zhangjun 2020-07-01 + //term := elastic.NewTermsQuery("data_id.keyword", string2interface(dataIDs)...) + term := elastic.NewTermsQuery("data_id", string2interface(dataIDs)...) term2 := elastic.NewTermQuery("enable_flag", 0) term3 := elastic.NewTermQuery("end_time",end) @@ -372,7 +399,7 @@ func IndexDocDelRestore(indexName string, end time.Time, dataIDs []string) (bool newEnd :=time.Date(9999,9,9,9,9,9,0,time.Now().Location()) - script := elastic.NewScript("ctx._source.enable_flag = 1 ; ctx._source.end_time = params.now ").Param("now", newEnd) + script := elastic.NewScript("ctx._source.enable_flag = 1 ; ctx._source.end_time = params.now ").Param("now", DataEX.JsonDate(newEnd)) response,err:= ES7Client.UpdateByQuery().Index(indexName).Query(query).Script(script).Do(CTX) @@ -390,8 +417,9 @@ func IndexDocDelRestore(indexName string, end time.Time, dataIDs []string) (bool func IndexDocGet(indexName string,dataID string) (bool,string,DataEX.ESData) { var data DataEX.ESData - - term := elastic.NewTermQuery("data_id.keyword", dataID) + //change by zhangjun 2020-07-01 + //term := elastic.NewTermQuery("data_id.keyword", dataID) + term := elastic.NewTermQuery("data_id", dataID) term2 := elastic.NewTermQuery("enable_flag", 1) query:=elastic.NewBoolQuery() query.Filter(term).Filter(term2) @@ -420,7 +448,9 @@ func IndexDocPage(indexName string,orgIDs []string,page int,begin string) (bool, query.Filter(term2) if len(orgIDs)!=0{ - term := elastic.NewTermsQuery("org_id.keyword", string2interface(orgIDs)...) + //change by zhangjun 2020-07-01 + //term := elastic.NewTermsQuery("org_id.keyword", string2interface(orgIDs)...) + term := elastic.NewTermsQuery("org_id", string2interface(orgIDs)...) query.Filter(term) } @@ -453,7 +483,9 @@ func IndexDocQuery(indexName string,orgIDs []string,page int,conditions []string query.Filter(term2) if len(orgIDs)!=0{ - term := elastic.NewTermsQuery("org_id.keyword", string2interface(orgIDs)...) + //change by zhangjun 2020-07-01 + //term := elastic.NewTermsQuery("org_id.keyword", string2interface(orgIDs)...) + term := elastic.NewTermsQuery("org_id", string2interface(orgIDs)...) query.Filter(term) } diff --git a/dsDataex/docs/docs.go b/dsDataex/docs/docs.go index 4ad8ab20..019db4a5 100644 --- a/dsDataex/docs/docs.go +++ b/dsDataex/docs/docs.go @@ -1,6 +1,6 @@ // GENERATED BY THE COMMAND ABOVE; DO NOT EDIT // This file was generated by swaggo/swag at -// 2020-06-23 09:53:00.4110857 +0800 CST m=+0.569998801 +// 2020-06-30 08:14:43.7238165 +0800 CST m=+0.276273501 package docs diff --git a/dsDataex/go.mod b/dsDataex/go.mod index daedfe3c..5c387ed2 100644 --- a/dsDataex/go.mod +++ b/dsDataex/go.mod @@ -11,7 +11,8 @@ require ( github.com/agrison/mxj v0.0.0-20160310142625-1269f8afb3b4 // indirect github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 github.com/bndr/gotabulate v1.1.2 // indirect - github.com/elastic/go-elasticsearch/v7 v7.7.0 // indirect + github.com/elastic/go-elasticsearch/v6 v6.8.10 // indirect + github.com/elastic/go-elasticsearch/v7 v7.8.0 github.com/fatih/structs v1.1.0 // indirect github.com/fsnotify/fsnotify v1.4.9 // indirect github.com/garyburd/redigo v1.6.0 diff --git a/dsDataex/go.sum b/dsDataex/go.sum index 445932e5..796b4efc 100644 --- a/dsDataex/go.sum +++ b/dsDataex/go.sum @@ -116,8 +116,12 @@ github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25Kn github.com/edsrzf/mmap-go v0.0.0-20170320065105-0bce6a688712/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= github.com/elastic/go-elasticsearch v0.0.0 h1:Pd5fqOuBxKxv83b0+xOAJDAkziWYwFinWnBO0y+TZaA= +github.com/elastic/go-elasticsearch/v6 v6.8.10 h1:2lN0gJ93gMBXvkhwih5xquldszpm8FlUwqG5sPzr6a8= +github.com/elastic/go-elasticsearch/v6 v6.8.10/go.mod h1:UwaDJsD3rWLM5rKNFzv9hgox93HoX8utj1kxD9aFUcI= github.com/elastic/go-elasticsearch/v7 v7.7.0 h1:oQBx/S3RiaH0/kiP0scYSay9xgSmVAYJpuqEf+e9GZg= github.com/elastic/go-elasticsearch/v7 v7.7.0/go.mod h1:OJ4wdbtDNk5g503kvlHLyErCgQwwzmDtaFC4XyOxXA4= +github.com/elastic/go-elasticsearch/v7 v7.8.0 h1:M9D55OK13IEgg51Jb57mZgseag1AsncwAUn4C6j1vlc= +github.com/elastic/go-elasticsearch/v7 v7.8.0/go.mod h1:OJ4wdbtDNk5g503kvlHLyErCgQwwzmDtaFC4XyOxXA4= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= diff --git a/dsDataex/main.go b/dsDataex/main.go index edc955ed..d427eca8 100644 --- a/dsDataex/main.go +++ b/dsDataex/main.go @@ -7,6 +7,8 @@ import ( "dsDataex/MyService/DataEX/DataexController" "dsDataex/Utils/CacheUtil" "dsDataex/Utils/ConfigUtil" + "dsDataex/Utils/ES7SqlUtil" + "dsDataex/Utils/ES7TypeUtil" "dsDataex/Utils/ES7Util" _ "dsDataex/docs" "fmt" @@ -83,7 +85,14 @@ func main() { fmt.Println("ES Server :" + ES7Util.ServerVersion) - //ES7Util.IndexInit("orgtree",nil) + fmt.Println("ES Server :" + ES7SqlUtil.ServerVersion) + + //var sql="select city_name,area_name,org_name,school_typename,left(data_content.class_code,5) as grade,data_content.class_code as class ,data_content.xm from user_student where enable_flag=1 and data_content.b_use=true" + // + //fmt.Println(ES7SqlUtil.SqlQueryJson(sql)) + // + //fmt.Println(ES7SqlUtil.SqlQueryTxt(sql)) + CacheUtil.OrgtreeCacheInit() GinServerInit() @@ -104,6 +113,8 @@ func main() { return s.Serve(lis) }) + fmt.Println(ES7TypeUtil.GetES7Type("safety","data_id")) + if err := g.Wait(); err != nil { log.Fatal(err) }