|
@@ -189,24 +189,33 @@ func (m *Front) PcAjaxReq() {
|
|
|
listSize = len(*list)
|
|
|
}
|
|
|
if len([]rune(s_word)) > 3 && int(count) < bidsearch.SearchPageSize_PC && start == 0 {
|
|
|
- secondKWS = jy.HttpEs(s_word, "ik_smart", public.DbConf.Elasticsearch.Main.Address)
|
|
|
- findfields := `"title"`
|
|
|
- qstr := bidsearch.GetSearchQuery(secondKWS, industry, minprice, maxprice, hasBuyerTel, hasWinnerTel, findfields, bidsearch.GetBidSearchQuery(area, publishtime, subtype, "", buyerclass))
|
|
|
- secRel := elastic.GetAllByNgram(INDEX, TYPE, qstr, findfields, bidSearch_sort, bidSearch_field, 0, 2*bidsearch.SearchPageSize_PC, 0, false)
|
|
|
- if secRel != nil {
|
|
|
- public.BidListConvert(industry, secRel)
|
|
|
- }
|
|
|
- if list != nil {
|
|
|
- list = public.MapArrSortMerge(*list, *secRel, "_id", "publishtime")
|
|
|
- } else {
|
|
|
- list = secRel
|
|
|
+ secondSearch := false
|
|
|
+ for _, item := range queryItems {
|
|
|
+ if item == "title" {
|
|
|
+ secondSearch = true
|
|
|
+ break
|
|
|
+ }
|
|
|
}
|
|
|
- if len(*secRel) > 0 {
|
|
|
- if secondKWS != "" {
|
|
|
- s_word += "+" + secondKWS
|
|
|
+ if secondSearch {
|
|
|
+ secondKWS = jy.HttpEs(s_word, "ik_smart", public.DbConf.Elasticsearch.Main.Address)
|
|
|
+ findfields := `"title"`
|
|
|
+ qstr := bidsearch.GetSearchQuery(secondKWS, industry, minprice, maxprice, hasBuyerTel, hasWinnerTel, findfields, bidsearch.GetBidSearchQuery(area, publishtime, subtype, "", buyerclass))
|
|
|
+ secRel := elastic.GetAllByNgram(INDEX, TYPE, qstr, findfields, bidSearch_sort, bidSearch_field, 0, 2*bidsearch.SearchPageSize_PC, 0, false)
|
|
|
+ if secRel != nil {
|
|
|
+ public.BidListConvert(industry, secRel)
|
|
|
+ }
|
|
|
+ if list != nil {
|
|
|
+ list = public.MapArrSortMerge(*list, *secRel, "_id", "publishtime")
|
|
|
+ } else {
|
|
|
+ list = secRel
|
|
|
+ }
|
|
|
+ if len(*secRel) > 0 {
|
|
|
+ if secondKWS != "" {
|
|
|
+ s_word += "+" + secondKWS
|
|
|
+ }
|
|
|
+ secondFlag = "T"
|
|
|
+ pcAjaxFlag = "T"
|
|
|
}
|
|
|
- secondFlag = "T"
|
|
|
- pcAjaxFlag = "T"
|
|
|
}
|
|
|
}
|
|
|
public.SaveUserSearchLog(m.Request, util.ObjToString(m.GetSession("userId")), -1, "pc", "超级搜索", map[string]interface{}{
|
|
@@ -482,30 +491,39 @@ func (m *Front) WxsearchlistPaging() {
|
|
|
listSize = len(*list)
|
|
|
}
|
|
|
if len([]rune(s_word)) > 3 && listSize < bidsearch.SearchPageSize_WX && pageNum == 1 {
|
|
|
- secondKWS = jy.HttpEs(s_word, "ik_smart", public.DbConf.Elasticsearch.Main.Address)
|
|
|
- findfields := `"title"`
|
|
|
- qstr := getSearchQuery(secondKWS, industry, minprice, maxprice, hasBuyerTel, hasWinnerTel, findfields, bidsearch.GetBidSearchQuery(scope, publishtime, subtype, "", buyerclass))
|
|
|
- secRel = elastic.GetAllByNgram(INDEX, TYPE, qstr, findfields, bidSearch_sort, filed, 0, 2*bidsearch.SearchPageSize_WX, 0, false)
|
|
|
- if secRel != nil && len(*secRel) > 0 {
|
|
|
- public.BidListConvert(industry, secRel)
|
|
|
- for _, v := range *secRel {
|
|
|
- v["_id"] = util.EncodeArticleId2ByCheck(util.ObjToString(v["_id"]))
|
|
|
+ secondSearch := false
|
|
|
+ for _, item := range queryItems {
|
|
|
+ if item == "title" {
|
|
|
+ secondSearch = true
|
|
|
+ break
|
|
|
}
|
|
|
- if list != nil {
|
|
|
- list = public.MapArrSortMerge(*list, *secRel, "_id", "publishtime")
|
|
|
- } else {
|
|
|
- list = secRel
|
|
|
- }
|
|
|
- secondFlag = "T"
|
|
|
- if len(*list) > bidsearch.SearchPageSize_WX && selectType == "title" {
|
|
|
- secondList = (*list)[bidsearch.SearchPageSize_WX:]
|
|
|
- if len(secondList) > bidsearch.SearchPageSize_WX {
|
|
|
- secondList = secondList[:bidsearch.SearchPageSize_WX]
|
|
|
+ }
|
|
|
+ if secondSearch {
|
|
|
+ secondKWS = jy.HttpEs(s_word, "ik_smart", public.DbConf.Elasticsearch.Main.Address)
|
|
|
+ findfields := `"title"`
|
|
|
+ qstr := getSearchQuery(secondKWS, industry, minprice, maxprice, hasBuyerTel, hasWinnerTel, findfields, bidsearch.GetBidSearchQuery(scope, publishtime, subtype, "", buyerclass))
|
|
|
+ secRel = elastic.GetAllByNgram(INDEX, TYPE, qstr, findfields, bidSearch_sort, filed, 0, 2*bidsearch.SearchPageSize_WX, 0, false)
|
|
|
+ if secRel != nil && len(*secRel) > 0 {
|
|
|
+ public.BidListConvert(industry, secRel)
|
|
|
+ for _, v := range *secRel {
|
|
|
+ v["_id"] = util.EncodeArticleId2ByCheck(util.ObjToString(v["_id"]))
|
|
|
+ }
|
|
|
+ if list != nil {
|
|
|
+ list = public.MapArrSortMerge(*list, *secRel, "_id", "publishtime")
|
|
|
+ } else {
|
|
|
+ list = secRel
|
|
|
+ }
|
|
|
+ secondFlag = "T"
|
|
|
+ if len(*list) > bidsearch.SearchPageSize_WX && selectType == "title" {
|
|
|
+ secondList = (*list)[bidsearch.SearchPageSize_WX:]
|
|
|
+ if len(secondList) > bidsearch.SearchPageSize_WX {
|
|
|
+ secondList = secondList[:bidsearch.SearchPageSize_WX]
|
|
|
+ }
|
|
|
+ *list = (*list)[:bidsearch.SearchPageSize_WX]
|
|
|
}
|
|
|
- *list = (*list)[:bidsearch.SearchPageSize_WX]
|
|
|
+ } else {
|
|
|
+ secondKWS = ""
|
|
|
}
|
|
|
- } else {
|
|
|
- secondKWS = ""
|
|
|
}
|
|
|
}
|
|
|
public.SaveUserSearchLog(m.Request, util.ObjToString(m.GetSession("userId")), -1, "wx", "超级搜索", map[string]interface{}{
|