|
@@ -656,6 +656,9 @@ func EsMultiMatchFunctionScoreQuerySort(indexName, keyWord string, startSize, pa
|
|
|
keyWordArr = append(keyWordArr, keyWord)
|
|
|
keyWordLen = len(keyWordArr)
|
|
|
}
|
|
|
+ for _, v := range keyWordArr {
|
|
|
+ fmt.Println(v)
|
|
|
+ }
|
|
|
|
|
|
// @Param OrderColumn query int true "排序字段 ,Comprehensive综合 ,Matching匹配度 ,PublishDate 发布时间 "
|
|
|
utils.FileLog.Info("SearchKeyWord:%s, userId:%s", keyWordArr, strconv.Itoa(userId))
|
|
@@ -665,17 +668,23 @@ func EsMultiMatchFunctionScoreQuerySort(indexName, keyWord string, startSize, pa
|
|
|
matchArr := make([]elastic.Query, 0)
|
|
|
boolquery := elastic.NewBoolQuery()
|
|
|
bodyFunctionQuery := elastic.NewFunctionScoreQuery()
|
|
|
- //if orderColumn == "PublishDate" {
|
|
|
- // multiMatch := elastic.NewMultiMatchQuery(v, "Title", "BodyText")
|
|
|
- // bodyFunctionQuery.Query(multiMatch)
|
|
|
- //} else {
|
|
|
- // multiMatch := elastic.NewMultiMatchQuery(v, "Title", "BodyText").Analyzer("ik_smart")
|
|
|
- // bodyFunctionQuery.Query(multiMatch)
|
|
|
- //}
|
|
|
- multiMatch := elastic.NewMultiMatchQuery(v, "Title", "BodyText").Analyzer("ik_smart")
|
|
|
+ bodyFunctionQuery2 := elastic.NewFunctionScoreQuery()
|
|
|
+
|
|
|
+ //multiMatch := elastic.NewMultiMatchQuery(v, "Title", "BodyText").Analyzer("ik_smart")
|
|
|
+ multiMatch := elastic.NewMultiMatchQuery(v, "Title").Analyzer("ik_smart").Boost(10)
|
|
|
bodyFunctionQuery.Query(multiMatch)
|
|
|
matchArr = append(matchArr, bodyFunctionQuery)
|
|
|
+
|
|
|
+ multiMatch = elastic.NewMultiMatchQuery(v, "BodyText").Analyzer("ik_smart")
|
|
|
+ bodyFunctionQuery2.Query(multiMatch)
|
|
|
+ matchArr = append(matchArr, bodyFunctionQuery2)
|
|
|
boolquery.Should(matchArr...)
|
|
|
+
|
|
|
+ //multiMatch = elastic.NewMultiMatchQuery(v, "BodyText").Analyzer("ik_smart")
|
|
|
+ //bodyFunctionQuery.Query(multiMatch)
|
|
|
+ //matchArr = append(matchArr, bodyFunctionQuery)
|
|
|
+ //boolquery.Should(matchArr...)
|
|
|
+
|
|
|
highlight := elastic.NewHighlight()
|
|
|
highlight = highlight.PreTags("<font color='red'>").PostTags("</font>")
|
|
|
highlight = highlight.Fields(elastic.NewHighlighterField("Title"), elastic.NewHighlighterField("BodyText"))
|