gpt4 book ai didi

java - Hippo CMS - 在每次重新加载页面时显示随机新闻提要

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:33:25 31 4
gpt4 key购买 nike

如果我有这样一个列表:List<NewsItems> ,并且此列表中有 10 个新闻项,有什么方法可以让我每次都获得一组 4 个不同的新闻项,例如,列表中的第 1、4、8 和 10 项。

我目前正在使用 Pageable Collections 并将新闻项目的显示分解为每页显示 4 个新闻项目(最多)。因此,通过这种方式,我可以随机更改要显示的页面(从而最终在每次刷新时更改新闻),但每个新闻项不是随机的(例如:1-4 项总是在一起,5-8 项也是如此).

final HippoResultSetBean resultSet = featurednewsBean.getResultSet();
if (resultSet != null && resultSet.getCount() > 0) {

final HippoDocumentIterator<NewsDocument> facetIt = resultSet.getDocumentIterator(NewsDocument.class);
final int facetCount = featurednewsBean.getCount().intValue();
/*
* @ Javadoc - Show news items(max 4) randomly at every page refresh.
* FacetCount - No. of news items.
* pageRandom - A randomly generated number for the current page, so that we display a different page containing news each time.
*/
int pageRandom = (int) (Math.random() * facetCount);
//if(pageRandom<(facetCount/4)+1) {
featurednews = new PageableCollection<NewsDocument>(facetIt, facetCount, DEFAULT_HEADLINES_MAX,pageRandom);

有没有办法让我仍然可以使用 Pageable Collections 并随机获取新闻提要?或者其他方式?非常感谢任何帮助。

最佳答案

Hippo Facets 总是有序的。在您定义的属性上或在 (Lucene) 分数上。PageableCollection 为您提供给定页面大小和偏移量的文档列表。如果您的页面大小为 5 并且您将偏移量设置为 0,您将获得前 5 个项目。使用随机偏移量仍会按照它们从构面选择中出现的顺序为您提供结果集。

当您将页面大小增加到 10 个项目并从 featuredNews.getItems() 中“随机”选择 4 个时,您可以使其更加随机(这是一个 java.util.List).不要将页面大小设置得太高,这会降低性能。

另一种选择是创建 4 个页面大小为 1 的 PageableCollection,如果您想从更大的结果集中进行选择,则创建 4 个不同的偏移量。

关于java - Hippo CMS - 在每次重新加载页面时显示随机新闻提要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11104447/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com