|
@@ -94,19 +94,26 @@ 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)
|
|
//二次搜索- 一次搜索结果少于一页数据;关键词长度大于三;第一,二页请求;搜索范围包括title;四个条件
|
|
//二次搜索- 一次搜索结果少于一页数据;关键词长度大于三;第一,二页请求;搜索范围包括title;四个条件
|
|
- if len([]rune(in.KeyWords)) > 3 && int(count) < util.SearchPageSize && in.PageNum == 1 && 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 in.KeyWords = util.HttpEs(in.KeyWords, "ik_smart", IC.DB.Es.Addr); in.KeyWords != "" {
|
|
in.SelectType = "title"
|
|
in.SelectType = "title"
|
|
- _count, _list := util.GetBidSearchData(in)
|
|
|
|
- if count < _count {
|
|
|
|
- count = _count
|
|
|
|
- list = _list
|
|
|
|
- }
|
|
|
|
- //最多两页数据
|
|
|
|
- if count > util.SearchPageSize*2 {
|
|
|
|
- count = util.SearchPageSize * 2
|
|
|
|
- }
|
|
|
|
|
|
+ //最多查两页数据
|
|
|
|
+ in.PageSize = 2 * in.PageSize
|
|
|
|
+ _, secondList := util.GetBidSearchData(in)
|
|
res.KeyWords = in.KeyWords
|
|
res.KeyWords = in.KeyWords
|
|
|
|
+ //数据合并 去重 排序
|
|
|
|
+ list = util.DelRepeatSearchData(list, secondList)
|
|
|
|
+ count = int64(len(list))
|
|
|
|
+ switch {
|
|
|
|
+ case count > util.SearchPageSize:
|
|
|
|
+ count = MC.If(count > util.SearchPageSize*2, util.SearchPageSize*2, count).(int64)
|
|
|
|
+ list = list[:util.SearchPageSize]
|
|
|
|
+ if in.SplitKeywords != "" {
|
|
|
|
+ list = list[util.SearchPageSize:count]
|
|
|
|
+ }
|
|
|
|
+ case count <= util.SearchPageSize:
|
|
|
|
+ list = list[:count]
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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)
|