|
@@ -93,14 +93,16 @@ func (l *GetSearchListLogic) GetSearchList(in *bxcore.SearchReq) (*bxcore.Search
|
|
//无限制
|
|
//无限制
|
|
if res.IsLimit == 1 {
|
|
if res.IsLimit == 1 {
|
|
count, list := util.GetBidSearchData(in)
|
|
count, list := util.GetBidSearchData(in)
|
|
|
|
+ res.KeyWords = in.KeyWords
|
|
//二次搜索- 一次搜索结果少于一页数据;关键词长度大于三;第一,二页请求;搜索范围包括title;四个条件
|
|
//二次搜索- 一次搜索结果少于一页数据;关键词长度大于三;第一,二页请求;搜索范围包括title;四个条件
|
|
if len([]rune(in.KeyWords)) > 3 && int(count) < util.SearchPageSize && in.PageNum < 3 && strings.Contains(in.SelectType, "title") {
|
|
if len([]rune(in.KeyWords)) > 3 && int(count) < util.SearchPageSize && in.PageNum < 3 && strings.Contains(in.SelectType, "title") {
|
|
- if in.KeyWords = util.HttpEs(in.KeyWords, "ik_smart", IC.DB.Es.Addr); in.KeyWords != "" {
|
|
|
|
|
|
+ if iksk := util.HttpEs(in.KeyWords, "ik_smart", IC.DB.Es.Addr); iksk != "" {
|
|
|
|
+ iksk_temp := in.KeyWords
|
|
|
|
+ in.KeyWords = iksk
|
|
in.SelectType = "title"
|
|
in.SelectType = "title"
|
|
//最多查两页数据
|
|
//最多查两页数据
|
|
in.PageSize = 2 * in.PageSize
|
|
in.PageSize = 2 * in.PageSize
|
|
_, secondList := util.GetBidSearchData(in)
|
|
_, secondList := util.GetBidSearchData(in)
|
|
- res.KeyWords = in.KeyWords
|
|
|
|
//数据合并 去重 排序
|
|
//数据合并 去重 排序
|
|
list = util.DelRepeatSearchData(list, secondList)
|
|
list = util.DelRepeatSearchData(list, secondList)
|
|
count = int64(len(list))
|
|
count = int64(len(list))
|
|
@@ -114,6 +116,16 @@ func (l *GetSearchListLogic) GetSearchList(in *bxcore.SearchReq) (*bxcore.Search
|
|
case count <= util.SearchPageSize:
|
|
case count <= util.SearchPageSize:
|
|
list = list[:count]
|
|
list = list[:count]
|
|
}
|
|
}
|
|
|
|
+ var kbool = map[string]bool{}
|
|
|
|
+ var karr = []string{}
|
|
|
|
+ for _, v := range strings.Split(fmt.Sprintf("%s+%s", iksk_temp, iksk), "+") {
|
|
|
|
+ if kbool[v] {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+ karr = append(karr, v)
|
|
|
|
+ kbool[v] = true
|
|
|
|
+ }
|
|
|
|
+ res.KeyWords = strings.Join(karr, "+")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
limitCount := MC.If(in.UserType != "fType", int64(util.SearchPageSize*util.SearchMaxPageNum_PAYED), int64(util.SearchPageSize*util.SearchMaxPageNum)).(int64)
|
|
limitCount := MC.If(in.UserType != "fType", int64(util.SearchPageSize*util.SearchMaxPageNum_PAYED), int64(util.SearchPageSize*util.SearchMaxPageNum)).(int64)
|