ソースを参照

修复 生索引字段,不配置ftype 无法生索引 问题

wcc 1 年間 前
コミット
d8e48c84bd
2 ファイル変更21 行追加21 行削除
  1. 1 1
      createEsIndex/bidding_es.go
  2. 20 20
      createEsIndex/utils.go

+ 1 - 1
createEsIndex/bidding_es.go

@@ -564,7 +564,7 @@ func GetEsField(tmp map[string]interface{}, stype string) (map[string]interface{
 			} else if field == "infoformat" {
 				newTmp[field] = tmp[field]
 			} else { //其它字段判断数据类型,不正确舍弃
-				if fieldval := tmp[field]; reflect.TypeOf(fieldval).String() != ftype {
+				if fieldval := tmp[field]; reflect.TypeOf(fieldval).String() != ftype && ftype != "" {
 					continue
 				} else {
 					if fieldval != "" {

+ 20 - 20
createEsIndex/utils.go

@@ -20,7 +20,7 @@ import (
 	"unicode/utf8"
 )
 
-//convertToMongoID convertToMongoID
+// convertToMongoID convertToMongoID
 func convertToMongoID(query map[string]interface{}) map[string]interface{} {
 	result := make(map[string]interface{})
 	if query == nil {
@@ -41,7 +41,7 @@ func convertToMongoID(query map[string]interface{}) map[string]interface{} {
 	return result
 }
 
-//StringSliceValuesEqual  判断切片相等
+// StringSliceValuesEqual  判断切片相等
 func StringSliceValuesEqual(a, b []string) bool {
 	if len(a) != len(b) {
 		return false
@@ -59,7 +59,7 @@ func StringSliceValuesEqual(a, b []string) bool {
 	return true
 }
 
-//Float64SliceSum float64 数据求和
+// Float64SliceSum float64 数据求和
 func Float64SliceSum(nums []float64) float64 {
 	sum := 0.0
 	for _, num := range nums {
@@ -72,7 +72,7 @@ func Float64Equal1Precision(a, b float64) bool {
 	return int(math.Round(a*10)) == int(math.Round(b*10))
 }
 
-//chargeType 判断mongo 字段类型和 es 字段类型相匹配
+// chargeType 判断mongo 字段类型和 es 字段类型相匹配
 func chargeType(ftype, etype string) bool {
 	if ftype != "" {
 		switch ftype {
@@ -106,7 +106,7 @@ func chargeType(ftype, etype string) bool {
 	return false
 }
 
-//IsHanStart 判断字符串是否以汉字开头或者以字母开头
+// IsHanStart 判断字符串是否以汉字开头或者以字母开头
 func IsHanStart(s string) bool {
 	if s == "" {
 		return false
@@ -146,7 +146,7 @@ func IsBracketStartWithHan(s string) bool {
 	return true
 }
 
-//IsCompanyName 判断字符串是否以汉字开头、以括号开头并且括号里面是汉字、以"公司"结尾,其中一个条件符合即返回true,否则返回false
+// IsCompanyName 判断字符串是否以汉字开头、以括号开头并且括号里面是汉字、以"公司"结尾,其中一个条件符合即返回true,否则返回false
 func IsCompanyName(s string) bool {
 	r := []rune(s)
 	//if len(r) >= 6 && (string(r[len(r)-6:]) == "有限公司" || string(r[len(r)-6:]) == "股份有限公司") {
@@ -160,7 +160,7 @@ func IsCompanyName(s string) bool {
 	return false
 }
 
-//GetChineseCharacters 提取字符串中的汉字
+// GetChineseCharacters 提取字符串中的汉字
 func GetChineseCharacters(s string) string {
 	re := regexp.MustCompile(`[\p{Han}]+`)
 	return re.FindString(s)
@@ -184,7 +184,7 @@ func IsUnicodeStart(s string) bool {
 	return size > 0
 }
 
-//RemoveDuplicateSuffix 去除字符串末尾的重复字词
+// RemoveDuplicateSuffix 去除字符串末尾的重复字词
 func RemoveDuplicateSuffix(str string, suffix string) string {
 	// 构建正则表达式:^(.*?)(重复的结尾词)+$
 	re := regexp.MustCompile(fmt.Sprintf(`^(.*?)(%s)+$`, suffix))
@@ -209,7 +209,7 @@ func findNameID(id string) []map[string]interface{} {
 	return *info
 }
 
-//isStringRepeating 判断字符串内字符完全重复,例如:山东大学山东大学
+// isStringRepeating 判断字符串内字符完全重复,例如:山东大学山东大学
 func isStringRepeating(str string) bool {
 	for i := 0; i < len(str); i++ {
 		for j := i + 1; j < len(str); j++ {
@@ -221,7 +221,7 @@ func isStringRepeating(str string) bool {
 	return true
 }
 
-//IsInStringArray 判断数组中是否存在字符串
+// IsInStringArray 判断数组中是否存在字符串
 func IsInStringArray(str string, arr []string) bool {
 	// 先对字符串数组进行排序
 	sort.Strings(arr)
@@ -231,7 +231,7 @@ func IsInStringArray(str string, arr []string) bool {
 	return pos < len(arr) && arr[pos] == str
 }
 
-//checkName 检查名称,不符合的返回false
+// checkName 检查名称,不符合的返回false
 func checkName(name string) (res bool) {
 	res = true
 
@@ -277,7 +277,7 @@ func checkName(name string) (res bool) {
 	return
 }
 
-//TDName 根据开头、结尾、排除词,筛选名称,筛选不符合的数据
+// TDName 根据开头、结尾、排除词,筛选名称,筛选不符合的数据
 func TDName(name string) (res bool) {
 	res = true
 
@@ -364,7 +364,7 @@ func TDName(name string) (res bool) {
 	return
 }
 
-//ruleBuyer 判断采购单位正确,名称错误返回true,名称正确返回false
+// ruleBuyer 判断采购单位正确,名称错误返回true,名称正确返回false
 func ruleBuyer(input string) (res bool) {
 	//开头的单词
 	preWords := []string{"转发", "省", "会议室", "某", "某单位", "某公司", "某学校", "测试", "某大学", "某医院", "拟建", "机械", "县", "市", "区", "巡察", "人民路", "对", "楼", "家长", "春季", "对", "度", "初级中学", "州", "总部", "一号", "含", "育场", "选择", "第包", "医院",
@@ -402,14 +402,14 @@ func ruleBuyer(input string) (res bool) {
 		"一致同意", "X", "保体障局", "人们政府", "上设局", "开发茎", "场场", "设保", "武鳖", "集回", "项日", "代理银行",
 		"辽宁省省会", "菖处", "口国", "人民汰院", "肉州市", "火车站社", "自然资源和规局", "萎员会", "经济技术开发茎",
 		"()", "()", "有限公司厂", "测试", "建设建设", "建设规模", "满足", "郑州郑州", "学校学校", "&", ";", ";",
-		"就医院", "酒医院", "至医院", "对", "所需", "提升", "提高", "学期", "学年", "规模", "必须", "建成", "各公司",
+		"就医院", "酒医院", "至医院", "所需", "提升", "提高", "学期", "学年", "规模", "必须", "建成", "各公司",
 		"养护", "拿", "艹", "关于", "要求", "举办", "显示所", "右阴公司", "发射", "加装", "扩建", "道路维修", "等所",
 		"维稳中心", "异议", "任务", "分包", "其他", "行为", "中标人", "教室", "安置", "暂行", "选聘", "合同", "转发",
 		"勿救", "既有", "装置", "开展", "依据", "指定", "一般用", "采供", "修缮", "招标单位", "联系方式", "沟通",
-		"该项目", "安装", "造价", "改造", "样品", "课室", "水毁道路", "闲置资产", "某单位", "某公司", "某学校", "测试", "某大学", "某医院", "地产鲨", "项目组",
-		"公国司", "物资", "评估与医院", "年室", "招标", "设有", "复限公司", "服务", "罩套", "有阴公", "人队", "报告",
-		"显微镜", "现场局", "租赁", "镇", "市中心", "勐阿糖厂", "展厅", "等医院", "广场室", "水利顷", "市室", "交界处", "自助银行",
-		"若源局", "布局", "联合体", "气室", "活动场", "包装公司", "投资", "有限", "等", "设备", "急件", "核实", "测汞仪", "黑名单", "制作类",
+		"该项目", "安装", "造价", "样品", "课室", "水毁道路", "闲置资产", "某单位", "某公司", "某学校", "测试", "某大学", "某医院", "地产鲨", "项目组",
+		"公国司", "评估与医院", "年室", "招标", "设有", "复限公司", "罩套", "有阴公", "人队", "报告",
+		"显微镜", "现场局", "租赁", "市中心", "勐阿糖厂", "展厅", "等医院", "广场室", "水利顷", "市室", "交界处", "自助银行",
+		"若源局", "布局", "联合体", "气室", "活动场", "包装公司", "急件", "核实", "测汞仪", "黑名单", "制作类",
 		"大学大学", "学院学院", "大学场", "学校室", "部队部队", "内部", "部分支公司", "短管", "投标文件", "汇编", "收购"}
 
 	for _, v := range specials {
@@ -423,14 +423,14 @@ func ruleBuyer(input string) (res bool) {
 
 }
 
-//SendUdpMsg 通知处理企业新增数据
+// SendUdpMsg 通知处理企业新增数据
 func SendUdpMsg(data map[string]interface{}, target *net.UDPAddr) {
 	bytes, _ := json.Marshal(data)
 	UdpClient.WriteUdp(bytes, udp.OP_TYPE_DATA, target)
 	log.Info("SendUdpMsg", zap.Any("data", data), zap.Any("target", target))
 }
 
-//deletePreEsData 删除预处理索引数据
+// deletePreEsData 删除预处理索引数据
 func deletePreEsData(preId string) {
 	now := time.Now()
 	month := int(time.Now().Month())