这里可能有这样的帖子,但我不确定这种类型的排序方法是什么,所以搜索并没有真正产生任何非常有用的东西。大多数情况下,我已经看到了关于提高条款的事情,但我不认为在这种情况下这将有所帮助,除非我可以使提升的收益递减(甚至可能在规模上有问题)。如果存在这些链接,将会受到赞赏。
我正在为Sitecore中的博客页面创建一个模块,该模块将显示少量相关的博客帖子。这些博客文章应基于博客的作者。当有一位作者时,这是相对容易的,但是当有多个时,给出的要求使这变得困难。要求规定,当有多个作者时,显示的博客应该在每个作者的最新帖子之间交替而没有重复。一个例子就是:
在这种情况下,博客文章的发布顺序由信件表示(帖子A在帖子B之前发布)。
博客文章Y有3位作者,他们的名字是Jack,Jill和Jim。
杰克发布了另一篇博文X.
Jill还有一篇比Y更新的帖子叫做Z以及更早的帖子N(用Jim完成)和M.
Jim发布了博客文章N(与Jill合作),O和L.
这些帖子应根据场景显示的顺序如下: X N O M L
请注意,当Jim的第一个帖子应该被使用时,不使用N,因为当Jill的帖子显示时,它已经在我们的结果列表中。
看起来我可能需要对每位作者进行查询,以便处理此问题或查询作者的帖子过滤,按日期排序,然后手动处理结果列表。第一种方法导致多个查询,第二种方式可能涉及迭代整个索引。
我还以为我可以做以下事情:
存储名为related author sort
的int字段。使其等于作者撰写的博客数量与当前博客之前的发布日期(可能需要一段时间才能处理)。 对此进行反向排序。
反转数字的意义在于,无论何时添加新博客,都不需要更新字段。虽然因为有多个作者,所以我需要多个 author sort
值。
注意:这样做最终会让作者拥有更多博客,而不是我想要的。