Solr - 在某个元素之前和之后获取n个元素(给定查询)

时间:2017-07-20 08:59:44

标签: solr pagination

我正在使用Apache Solr构建一个页面,其中我显示从serp中选择的图像(具有特定的solr ID)。 serp可以是可选的,这意味着没有生成它的查询(如共享图像的情况),并且将提取分析图像的推荐元素。 但是如果存在查询,我应该使用可能相同的查询来提取一些推荐的元素。现在,如何在选定之前提取前5个元素,并在选定之后提取前5个元素?这应遵循分页顺序(在serp中)。

一个例子:

Page 1 contains: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
Page 2 contains: 14, 22, 33, 44, 55, 84, 12, 57
You have selected: 8 (which is in page 1)
Expected recommended elements:
BEFORE: 3, 4, 5, 6, 7 (or inverse order, this is indifferent)
AFTER: 9, 10, 14, 22, 33

可以执行不同的查询,这不是问题。任何人都知道如何解决这个问题?谢谢!

1 个答案:

答案 0 :(得分:1)

两个查询。一个用于检索前面的命中,一个用于检索之后的命中。由于查询和过滤器将被缓存,因此性能不应成为问题。