search.go 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package service
  2. import (
  3. MC "app.yhyue.com/moapp/jybase/common"
  4. IC "jyBXCore/rpc/init"
  5. "jyBXCore/rpc/model/es"
  6. "jyBXCore/rpc/type/bxcore"
  7. "jyBXCore/rpc/util"
  8. "log"
  9. "strings"
  10. "time"
  11. )
  12. // GetBidSearchData 默认查询缓存数据 只查标题
  13. // 登录用户默认搜索500条数据,付费用户字段和免费用户字段不同,未登录用户查询5000条。
  14. // 标信息搜索 isCache:是否是获取缓存信息
  15. func GetBidSearchData(in *bxcore.SearchReq, isCache bool) (count int64, list []*bxcore.SearchList) {
  16. var start = int((in.PageNum - 1) * in.PageSize)
  17. if start >= 0 {
  18. t := time.Now()
  19. fields := MC.If(in.IsPay, es.BidSearchFieldOfVip, es.BidSearchFieldBase).(string)
  20. //in.BidField(医疗)领域化字段
  21. if in.BidField != "" {
  22. fields = es.BidSearchDomainField
  23. }
  24. //IC.C.FileSignBool列表是否显示附件开关
  25. if IC.C.FileSignBool {
  26. fields = fields + es.BidSearchFieldFile
  27. }
  28. biddingSearch := es.SearchByES{
  29. Index: es.INDEX,
  30. IType: es.TYPE,
  31. Query: es.GetSearchQuery(in, es.GetBidSearchQuery(in)),
  32. FindFields: MC.If(isCache, "title", "detail").(string),
  33. Order: es.BidSearchSort,
  34. Fields: fields,
  35. Start: MC.If(isCache, 0, start).(int),
  36. Limit: MC.If(isCache, MC.If(in.IsPay, IC.C.DefaultBidInfo.PayCount, IC.C.DefaultBidInfo.Count).(int), int(in.PageSize)).(int),
  37. Count: MC.If(strings.Contains(in.SelectType, "detail"), 115, 0).(int), //高亮正文数量
  38. HighLight: MC.If(strings.Contains(in.SelectType, "detail"), true, false).(bool), //是否高亮正文
  39. }
  40. var repl *[]map[string]interface{}
  41. count, repl = biddingSearch.GetAllByNgramWithCount()
  42. if repl != nil && *repl != nil && len(*repl) > 0 {
  43. //格式化查询结果
  44. list = util.SearchListFormat(in.UserId, in.Industry, repl, strings.Contains(in.SelectType, "detail"))
  45. } else {
  46. log.Println("查询数据异常")
  47. }
  48. log.Println(in.KeyWords, "关键词 -1- 查询耗时:", time.Since(t).Seconds())
  49. }
  50. return
  51. }