java - Spring Elasticsearch,创建应用趋势请求
问题描述
在我的 elasticsearch 中,我有 apk 列表,其中包含类别应用程序和游戏以及大量元数据。我必须按类别返回顶级交易 apk 列表。我的要求必须考虑并按以下最佳组合排序:
- 本周下载次数最多的 apk(应用程序或游戏)
- 最积极评价
- 最多评论
请问我怎么能做这种请求?我使用弹簧 2.2 和弹簧弹性搜索 3.2.4。
@Data
@NoArgsConstructor
@ToString
@Document(indexName = "apk")
public class Apk {
@Id //The unique id
private Long id;
@Field(type = FieldType.Nested, includeInParent = true)
private Rating rating = new Rating();
@Field(type = FieldType.Nested, includeInParent = true)
private List<Review> userReview = new ArrayList<>();
@Field(type = FieldType.Nested, includeInParent = true)
private Category category;
@Field(type = FieldType.Nested, includeInParent = true)
private SubCategory subCategory;
private ApkStatus status = ApkStatus.INITIATED;
private Set<String> dependencies = new HashSet<>();
private Set<String> permissions = new HashSet<>();
private String changes;
private Long companyId;
private String description;
private String displayName;
private String packageName = "unknown";
private BigDecimal price = new BigDecimal(0);
private String shortDescription;
private String versionName = "unknown";
private String videoUrl;
private Boolean containsAds;
private Boolean isFree=false;
private long versionCode = 0;
private String minSdkVersion;
private String targetSdkVersion;
private String maxSdkVersion;
private long installs;
private long unInstalls;
private long size;
private String apkName;
private String repositoryGeneratedId;
private String iconPath;
private String iconDownloadUrl;
private String apkPath;
private String apkDownloadUrl;
private String installHistoryString;
private String unInstallHistoryString;
@Transient
private NavigableMap<String, Integer> installHistory = new TreeMap<>();
@Transient
private NavigableMap<String, Integer> unInstallHistory = new TreeMap<>();
private Map<String, TranslatedMetadata> translatedMetadataList = new TreeMap<>();
LocalizedLanguage defaultLanguage;
private Date updateDate = new Date();
private Date createDate = new Date();
提前致谢
解决方案
推荐阅读
- c# - 如何使用 webservice C# 为基于事件的函数应用 async/await?
- kotlin - sumByDouble 要求 Double 找到 Double?
- tinymce - 在 tinyMCEPopup 编辑器 dom 元素中更改标签
- swift - Swift TensorFlowLite 解释器错误:类型“解释器”没有成员“选项”
- xml - 在 Android Studio 3.5 中重新格式化代码 xml 时上下移动代码并更改视图
- php - wkhtmltopdf 分页符在表格中创建空白
- google-cloud-spanner - Spanner SQL 中以“0X”为前缀的十六进制整数文字是否合法?
- python - 如何在 Odoo 中创建新附件?它们是如何工作的?
- c# - 动态向数组添加新维度
- css - 如何在css伪元素中添加fontawesome字体