model.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package model
  2. //Query .
  3. type Query struct {
  4. Calc *Calc `json:"calc"`
  5. Where *Where `json:"where"`
  6. Filter map[string]interface{} `json:"filter"`
  7. From int `json:"from"`
  8. Size int `json:"size"`
  9. }
  10. //Calc .
  11. type Calc struct {
  12. Open int64 `json:"open"`
  13. PlayRatio float64 `json:"play_ratio"`
  14. FavRatio float64 `json:"fav_ratio"`
  15. LikeRatio float64 `json:"like_ratio"`
  16. ShareRatio float64 `json:"share_ratio"`
  17. CoinRatio float64 `json:"coin_ratio"`
  18. ReplyRatio float64 `json:"reply_ratio"`
  19. }
  20. //Where .
  21. type Where struct {
  22. In map[string][]interface{} `json:"in"`
  23. NotIn map[string][]interface{} `json:"not_in"`
  24. Lte map[string]int64 `json:"lte"`
  25. Gte map[string]int64 `json:"gte"`
  26. }
  27. // EsParam es请求参数
  28. type EsParam struct {
  29. From int `json:"from"`
  30. Size int `json:"size"`
  31. Query map[string]map[string]interface{} `json:"query"`
  32. Sort []map[string]*Script `json:"sort"`
  33. }
  34. // Script .
  35. type Script struct {
  36. Order string `json:"order"`
  37. Script map[string]interface{} `json:"script"`
  38. Type string `json:"type"`
  39. }