|
@@ -312,9 +312,9 @@ func SearchEdbInfoData(indexName, keywordStr string, from, size, filterSource, s
|
|
|
},
|
|
|
}
|
|
|
|
|
|
- mustMap = append(mustMap, map[string]interface{}{
|
|
|
- "bool": shouldMap,
|
|
|
- })
|
|
|
+ //mustMap = append(mustMap, map[string]interface{}{
|
|
|
+ // "bool": shouldMap,
|
|
|
+ //})
|
|
|
|
|
|
return searchEdbInfoData(indexName, mustMap, mustNotMap, shouldMap, from, size)
|
|
|
}
|
|
@@ -1263,34 +1263,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,
|
|
|
- //"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",
|
|
|
},
|
|
@@ -1299,6 +1327,7 @@ func SearchMyChartInfoData(indexName, keywordStr string, adminId int, noPermissi
|
|
|
},
|
|
|
},
|
|
|
}
|
|
|
+
|
|
|
mustMap = append(mustMap, map[string]interface{}{
|
|
|
"bool": shouldMap,
|
|
|
})
|
|
@@ -1554,6 +1583,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{}{
|
|
@@ -1564,12 +1616,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,
|
|
|
})
|