solr分页和分组

时间:2012-08-23 15:06:47

标签: solr lucene

我正在使用LucidWorks和Solr在一个包含许多不同类型页面的大型多样化Web应用程序中实现搜索。该规范要求按页面类型分组单个搜索结果页面,并在每个组中对搜索结果进行分页。

我可以用这样的东西轻松分组

q=[searchterm]&group=true&group.field=[pagetypefield]

返回很好的分组结果。

我也可以这样做:

q=[searchterm]&group=true&group.field=[pagetypefield]&group.offset=[x]&group.limit=[y]

从结果x

开始,每组得到y结果

然而,我想要做的是为每组提供偏移和限制,因为我可能希望得到组1的结果0-4和组2的结果5-9。

[pagetypefield]的值是已知值的列表,因此我可以执行多个查询,例如:

q=[searchterm]&group=true&group.query=[pagetypefield]:[value]&group.offset=[x]&group.limit=[y]

表示[pagetypefield]

的每个已知值

或者不使用group.offset,在我的例子中,两组的结果都是0-9,只是丢弃我不需要的结果。

我真的不喜欢任何一个选项,但我在文档中找不到一种方法来指定每组的偏移和限制。

任何建议都会受到最高的赞赏。

1 个答案:

答案 0 :(得分:0)

我已经从LucinWorks那里得到确认,我想做的事情是不可能的,他们建议使用多种搜索解决方案,因为第一次搜索将被追逐,因此后续搜索会非常快。

我认为我最终要做的是将每个组的前n个结果分组,然后使用ajax对每个组进行分页。