user.go 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. package model
  2. import (
  3. "github.com/Dai0522/go-hash/bloomfilter"
  4. )
  5. //Tuple ...
  6. type Tuple struct {
  7. Timestamp int64
  8. Count int64
  9. }
  10. //UserProfile 用户画像数据 包括历史画像和实时日志
  11. type UserProfile struct {
  12. Mid int64 `json:"Mid,omitempty"`
  13. Buvid string `json:"Buvid,omitempty"`
  14. Name string `json:"Name,omitempty"`
  15. Gender int8 `json:"Gender,omitempty"`
  16. ViewVideos []int64 `json:"ViewVideos,omitempty"`
  17. //bbq user profile
  18. //key:up mid, value: timestamp
  19. BBQFollowAction map[int64]int64 `json:"BBQFollowAction,omitempty"`
  20. //key:up mid, value: 1
  21. BBQFollow map[int64]int64 `json:"BBQFollow,omitempty"`
  22. BBQBlack map[int64]int64 `json:"BBQBlack,omitempty"`
  23. BBQTags map[string]float64 `json:"BBQTags,omitempty"`
  24. BBQZones map[string]float64 `json:"BBQZones,omitempty"`
  25. BBQPrefUps map[int64]int64 `json:"BBQPrefUps,omitempty"`
  26. //bili user profile
  27. BiliTags map[string]float64 `json:"BiliTags,omitempty"`
  28. Zones1 map[string]float64 `json:"Zones1,omitempty"`
  29. Zones2 map[string]float64 `json:"Zones2,omitempty"`
  30. FollowUps map[int64]int64 `json:"FollowUps,omitempty"`
  31. //bbq实时数据
  32. //key: SVID, value: timestamp
  33. PosVideos map[int64]int64 `json:"PosVideos,omitempty"`
  34. NegVideos map[int64]int64 `json:"NegVideos,omitempty"`
  35. LikeVideos map[int64]int64 `json:"LikeVideos,omitempty"`
  36. //key: tagID, value: count
  37. LikeTagIDs map[int64]int64 `json:"LikeTagIDs,omitempty"`
  38. PosTagIDs map[int64]int64 `json:"PosTagIDs,omitempty"`
  39. NegTagIDs map[int64]int64 `json:"NegTagIDs,omitempty"`
  40. //key: UP MID, value: timestamp
  41. LikeUPs map[int64]int64 `json:"LikeUPs,omitempty"`
  42. //for old retrieve function
  43. LikeTags map[string]float64 `json:"LikeTags,omitempty"`
  44. PosTags map[string]float64 `json:"PosTags,omitempty"`
  45. NegTags map[string]float64 `json:"NegTags,omitempty"`
  46. //DedupVideos 根据ID去重
  47. DedupVideos []int64 `json:"DedupVideos,omitempty"`
  48. LastRecords []Record4Dup `json:"LastRecords,omitempty"`
  49. LastUpsRecords []Record4Dup `json:"LastRecords,omitempty"`
  50. //BloomFilter 去重用到 SVID
  51. BloomFilter *bloomfilter.BloomFilter `json:"BloomFilter,omitempty"`
  52. }