ESCourse.java 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package com.futu.course.es.domain;
  2. import com.fasterxml.jackson.annotation.JsonFormat;
  3. import org.springframework.data.annotation.Id;
  4. import org.springframework.data.elasticsearch.annotations.Document;
  5. import org.springframework.data.elasticsearch.annotations.Field;
  6. import org.springframework.data.elasticsearch.annotations.FieldType;
  7. import lombok.AllArgsConstructor;
  8. import lombok.Data;
  9. import lombok.NoArgsConstructor;
  10. import java.math.BigDecimal;
  11. import java.util.Date;
  12. @Data
  13. // 对 ES 中的 course 进行映射
  14. @Document(indexName = "course")
  15. @NoArgsConstructor
  16. @AllArgsConstructor
  17. public class ESCourse {
  18. // 用于 Elasticsearch 的主键注解
  19. @Id
  20. @Field(type = FieldType.Long)
  21. private Long id;
  22. @Field(name = "name", type = FieldType.Text, analyzer = "ik_max_word")
  23. private String name;
  24. @Field(name = "uid", type = FieldType.Long)
  25. private Long uid;
  26. @Field(name = "price")
  27. private BigDecimal price;
  28. @Field(name = "category_id")
  29. private Long categoryId;
  30. @Field(name = "cover_img")
  31. private String coverImg;
  32. @Field(name = "create_time", type = FieldType.Date, format = {}, pattern = "yyyy-MM-dd HH:mm:ss")
  33. @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  34. private Date createTime;
  35. }