|
@@ -333,6 +333,35 @@ func SearchEdbInfoData(indexName, keywordStr string, from, size, filterSource, s
|
|
|
//})
|
|
|
|
|
|
//关键字匹配
|
|
|
+ //shouldMap := map[string]interface{}{
|
|
|
+ // "should": []interface{}{
|
|
|
+ // map[string]interface{}{
|
|
|
+ // "match": map[string]interface{}{
|
|
|
+ // "EdbCode": keywordStr,
|
|
|
+ // //"Frequency.keyword": "月度",
|
|
|
+ // },
|
|
|
+ // },
|
|
|
+ // map[string]interface{}{
|
|
|
+ // "match": map[string]interface{}{
|
|
|
+ // "EdbName": keywordStr,
|
|
|
+ // //"Frequency.keyword": "月度",
|
|
|
+ // },
|
|
|
+ // },
|
|
|
+ // map[string]interface{}{
|
|
|
+ // "match": map[string]interface{}{
|
|
|
+ // "EdbNameEn": keywordStr,
|
|
|
+ // //"Frequency.keyword": "月度",
|
|
|
+ // },
|
|
|
+ // },
|
|
|
+ // },
|
|
|
+ //}
|
|
|
+
|
|
|
+ // 默认使用中文名字字段去匹配
|
|
|
+ keywordNameKey := `EdbName`
|
|
|
+ // 如果没有中文,则使用英文名称字段去匹配
|
|
|
+ if !utils.ContainsChinese(keywordStr) {
|
|
|
+ keywordNameKey = `EdbNameEn`
|
|
|
+ }
|
|
|
shouldMap := map[string]interface{}{
|
|
|
"should": []interface{}{
|
|
|
map[string]interface{}{
|
|
@@ -343,21 +372,16 @@ func SearchEdbInfoData(indexName, keywordStr string, from, size, filterSource, s
|
|
|
},
|
|
|
map[string]interface{}{
|
|
|
"match": map[string]interface{}{
|
|
|
- "EdbName": keywordStr,
|
|
|
- //"Frequency.keyword": "月度",
|
|
|
- },
|
|
|
- },
|
|
|
- map[string]interface{}{
|
|
|
- "match": map[string]interface{}{
|
|
|
- "EdbNameEn": keywordStr,
|
|
|
+ keywordNameKey: keywordStr,
|
|
|
//"Frequency.keyword": "月度",
|
|
|
},
|
|
|
},
|
|
|
},
|
|
|
}
|
|
|
- mustMap = append(mustMap, map[string]interface{}{
|
|
|
- "bool": shouldMap,
|
|
|
- })
|
|
|
+
|
|
|
+ //mustMap = append(mustMap, map[string]interface{}{
|
|
|
+ // "bool": shouldMap,
|
|
|
+ //})
|
|
|
|
|
|
return searchEdbInfoData(indexName, mustMap, mustNotMap, shouldMap, from, size)
|
|
|
}
|
|
@@ -697,6 +721,35 @@ func SearchAddPredictEdbInfoData(indexName, keywordStr string, noPermissionEdbIn
|
|
|
})
|
|
|
|
|
|
//关键字匹配
|
|
|
+ //shouldMap := map[string]interface{}{
|
|
|
+ // "should": []interface{}{
|
|
|
+ // map[string]interface{}{
|
|
|
+ // "match": map[string]interface{}{
|
|
|
+ // "EdbCode": keywordStr,
|
|
|
+ // //"Frequency.keyword": "月度",
|
|
|
+ // },
|
|
|
+ // },
|
|
|
+ // map[string]interface{}{
|
|
|
+ // "match": map[string]interface{}{
|
|
|
+ // "EdbName": keywordStr,
|
|
|
+ // //"Frequency.keyword": "月度",
|
|
|
+ // },
|
|
|
+ // },
|
|
|
+ // map[string]interface{}{
|
|
|
+ // "match": map[string]interface{}{
|
|
|
+ // "EdbNameEn": keywordStr,
|
|
|
+ // //"Frequency.keyword": "月度",
|
|
|
+ // },
|
|
|
+ // },
|
|
|
+ // },
|
|
|
+ //}
|
|
|
+
|
|
|
+ // 默认使用中文名字字段去匹配
|
|
|
+ keywordNameKey := `EdbName`
|
|
|
+ // 如果没有中文,则使用英文名称字段去匹配
|
|
|
+ if !utils.ContainsChinese(keywordStr) {
|
|
|
+ keywordNameKey = `EdbNameEn`
|
|
|
+ }
|
|
|
shouldMap := map[string]interface{}{
|
|
|
"should": []interface{}{
|
|
|
map[string]interface{}{
|
|
@@ -707,7 +760,7 @@ func SearchAddPredictEdbInfoData(indexName, keywordStr string, noPermissionEdbIn
|
|
|
},
|
|
|
map[string]interface{}{
|
|
|
"match": map[string]interface{}{
|
|
|
- "EdbName": keywordStr,
|
|
|
+ keywordNameKey: keywordStr,
|
|
|
//"Frequency.keyword": "月度",
|
|
|
},
|
|
|
},
|
|
@@ -1211,34 +1264,61 @@ func SearchChartInfoData(indexName, keywordStr string, showSysId int, sourceList
|
|
|
})
|
|
|
|
|
|
//关键字匹配
|
|
|
+ //shouldMap := map[string]interface{}{
|
|
|
+ // "should": []interface{}{
|
|
|
+ // map[string]interface{}{
|
|
|
+ // "match": map[string]interface{}{
|
|
|
+ // "ChartName": keywordStr,
|
|
|
+ // //"Frequency.keyword": "月度",
|
|
|
+ // },
|
|
|
+ // },
|
|
|
+ // // 因为关键词被分了,所以需要用下面的语句来让他 整个词 查询,从而加重整词的权重
|
|
|
+ // map[string]interface{}{
|
|
|
+ // "match": map[string]interface{}{
|
|
|
+ // "ChartName": map[string]interface{}{
|
|
|
+ // "query": keywordStr,
|
|
|
+ // "operator": "and",
|
|
|
+ // },
|
|
|
+ // //"Frequency.keyword": "月度",
|
|
|
+ // },
|
|
|
+ // },
|
|
|
+ // map[string]interface{}{
|
|
|
+ // "match": map[string]interface{}{
|
|
|
+ // "ChartNameEn": keywordStr,
|
|
|
+ // //"Frequency.keyword": "月度",
|
|
|
+ // },
|
|
|
+ // },
|
|
|
+ // // 因为关键词被分了,所以需要用下面的语句来让他 整个词 查询,从而加重整词的权重
|
|
|
+ // map[string]interface{}{
|
|
|
+ // "match": map[string]interface{}{
|
|
|
+ // "ChartNameEn": map[string]interface{}{
|
|
|
+ // "query": keywordStr,
|
|
|
+ // "operator": "and",
|
|
|
+ // },
|
|
|
+ // //"Frequency.keyword": "月度",
|
|
|
+ // },
|
|
|
+ // },
|
|
|
+ // },
|
|
|
+ //}
|
|
|
+
|
|
|
+ // 默认使用中文名字字段去匹配
|
|
|
+ keywordNameKey := `ChartName`
|
|
|
+ // 如果没有中文,则使用英文名称字段去匹配
|
|
|
+ if !utils.ContainsChinese(keywordStr) {
|
|
|
+ keywordNameKey = `ChartNameEn`
|
|
|
+ }
|
|
|
shouldMap := map[string]interface{}{
|
|
|
"should": []interface{}{
|
|
|
map[string]interface{}{
|
|
|
"match": map[string]interface{}{
|
|
|
- "ChartName": keywordStr,
|
|
|
- //"Frequency.keyword": "月度",
|
|
|
- },
|
|
|
- },
|
|
|
- // 因为关键词被分了,所以需要用下面的语句来让他 整个词 查询,从而加重整词的权重
|
|
|
- map[string]interface{}{
|
|
|
- "match": map[string]interface{}{
|
|
|
- "ChartName": map[string]interface{}{
|
|
|
- "query": keywordStr,
|
|
|
- "operator": "and",
|
|
|
- },
|
|
|
- //"Frequency.keyword": "月度",
|
|
|
- },
|
|
|
- },
|
|
|
- map[string]interface{}{
|
|
|
- "match": map[string]interface{}{
|
|
|
- "ChartNameEn": keywordStr,
|
|
|
+ keywordNameKey: keywordStr,
|
|
|
//"Frequency.keyword": "月度",
|
|
|
},
|
|
|
},
|
|
|
// 因为关键词被分了,所以需要用下面的语句来让他 整个词 查询,从而加重整词的权重
|
|
|
map[string]interface{}{
|
|
|
"match": map[string]interface{}{
|
|
|
- "ChartNameEn": map[string]interface{}{
|
|
|
+ keywordNameKey: map[string]interface{}{
|
|
|
"query": keywordStr,
|
|
|
"operator": "and",
|
|
|
},
|
|
@@ -1247,6 +1327,7 @@ func SearchChartInfoData(indexName, keywordStr string, showSysId int, sourceList
|
|
|
},
|
|
|
},
|
|
|
}
|
|
|
+
|
|
|
mustMap = append(mustMap, map[string]interface{}{
|
|
|
"bool": shouldMap,
|
|
|
})
|
|
@@ -1394,18 +1475,62 @@ func SearchMyChartInfoData(indexName, keywordStr string, adminId int, noPermissi
|
|
|
}
|
|
|
|
|
|
//关键字匹配
|
|
|
+
|
|
|
+ //shouldMap := map[string]interface{}{
|
|
|
+ // "should": []interface{}{
|
|
|
+ // map[string]interface{}{
|
|
|
+ // "match": map[string]interface{}{
|
|
|
+ // "ChartName": keywordStr,
|
|
|
+ // //"Frequency.keyword": "月度",
|
|
|
+ // },
|
|
|
+ // },
|
|
|
+ // // 因为关键词被分了,所以需要用下面的语句来让他 整个词 查询,从而加重整词的权重
|
|
|
+ // map[string]interface{}{
|
|
|
+ // "match": map[string]interface{}{
|
|
|
+ // "ChartName": map[string]interface{}{
|
|
|
+ // "query": keywordStr,
|
|
|
+ // "operator": "and",
|
|
|
+ // },
|
|
|
+ // //"Frequency.keyword": "月度",
|
|
|
+ // },
|
|
|
+ // },
|
|
|
+ // map[string]interface{}{
|
|
|
+ // "match": map[string]interface{}{
|
|
|
+ // "ChartNameEn": keywordStr,
|
|
|
+ // //"Frequency.keyword": "月度",
|
|
|
+ // },
|
|
|
+ // },
|
|
|
+ // // 因为关键词被分了,所以需要用下面的语句来让他 整个词 查询,从而加重整词的权重
|
|
|
+ // map[string]interface{}{
|
|
|
+ // "match": map[string]interface{}{
|
|
|
+ // "ChartNameEn": map[string]interface{}{
|
|
|
+ // "query": keywordStr,
|
|
|
+ // "operator": "and",
|
|
|
+ // },
|
|
|
+ // //"Frequency.keyword": "月度",
|
|
|
+ // },
|
|
|
+ // },
|
|
|
+ // },
|
|
|
+ //}
|
|
|
+
|
|
|
+ // 默认使用中文名字字段去匹配
|
|
|
+ keywordNameKey := `ChartName`
|
|
|
+ // 如果没有中文,则使用英文名称字段去匹配
|
|
|
+ if !utils.ContainsChinese(keywordStr) {
|
|
|
+ keywordNameKey = `ChartNameEn`
|
|
|
+ }
|
|
|
shouldMap := map[string]interface{}{
|
|
|
"should": []interface{}{
|
|
|
map[string]interface{}{
|
|
|
"match": map[string]interface{}{
|
|
|
- "ChartName": keywordStr,
|
|
|
+ keywordNameKey: keywordStr,
|
|
|
//"Frequency.keyword": "月度",
|
|
|
},
|
|
|
},
|
|
|
// 因为关键词被分了,所以需要用下面的语句来让他 整个词 查询,从而加重整词的权重
|
|
|
map[string]interface{}{
|
|
|
"match": map[string]interface{}{
|
|
|
- "ChartName": map[string]interface{}{
|
|
|
+ keywordNameKey: map[string]interface{}{
|
|
|
"query": keywordStr,
|
|
|
"operator": "and",
|
|
|
},
|
|
@@ -1414,6 +1539,7 @@ func SearchMyChartInfoData(indexName, keywordStr string, adminId int, noPermissi
|
|
|
},
|
|
|
},
|
|
|
}
|
|
|
+
|
|
|
mustMap = append(mustMap, map[string]interface{}{
|
|
|
"bool": shouldMap,
|
|
|
})
|
|
@@ -1624,6 +1750,14 @@ func SearchEdbInfoDataByAdminId(indexName, keywordStr string, from, size, filter
|
|
|
},
|
|
|
},
|
|
|
}
|
|
|
+ case 6:
|
|
|
+ mustNotMap = []interface{}{
|
|
|
+ map[string]interface{}{
|
|
|
+ "match": map[string]interface{}{
|
|
|
+ "Frequency.keyword": "年度",
|
|
|
+ },
|
|
|
+ },
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
//指标来源
|
|
@@ -1661,6 +1795,29 @@ func SearchEdbInfoDataByAdminId(indexName, keywordStr string, from, size, filter
|
|
|
//})
|
|
|
|
|
|
//关键字匹配
|
|
|
+ //shouldMap := map[string]interface{}{
|
|
|
+ // "should": []interface{}{
|
|
|
+ // map[string]interface{}{
|
|
|
+ // "match": map[string]interface{}{
|
|
|
+ // "EdbCode": keywordStr,
|
|
|
+ // //"Frequency.keyword": "月度",
|
|
|
+ // },
|
|
|
+ // },
|
|
|
+ // map[string]interface{}{
|
|
|
+ // "match": map[string]interface{}{
|
|
|
+ // "EdbName": keywordStr,
|
|
|
+ // //"Frequency.keyword": "月度",
|
|
|
+ // },
|
|
|
+ // },
|
|
|
+ // },
|
|
|
+ //}
|
|
|
+
|
|
|
+ // 默认使用中文名字字段去匹配
|
|
|
+ keywordNameKey := `EdbName`
|
|
|
+ // 如果没有中文,则使用英文名称字段去匹配
|
|
|
+ if !utils.ContainsChinese(keywordStr) {
|
|
|
+ keywordNameKey = `EdbNameEn`
|
|
|
+ }
|
|
|
shouldMap := map[string]interface{}{
|
|
|
"should": []interface{}{
|
|
|
map[string]interface{}{
|
|
@@ -1671,12 +1828,13 @@ func SearchEdbInfoDataByAdminId(indexName, keywordStr string, from, size, filter
|
|
|
},
|
|
|
map[string]interface{}{
|
|
|
"match": map[string]interface{}{
|
|
|
- "EdbName": keywordStr,
|
|
|
+ keywordNameKey: keywordStr,
|
|
|
//"Frequency.keyword": "月度",
|
|
|
},
|
|
|
},
|
|
|
},
|
|
|
}
|
|
|
+
|
|
|
mustMap = append(mustMap, map[string]interface{}{
|
|
|
"bool": shouldMap,
|
|
|
})
|