0

我正在使用 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 并丢弃我不需要的结果。

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

任何建议将不胜感激。

4

1 回答 1

0

我从 LucinWorks 得到确认,我想做的事情是不可能的,他们推荐了多重搜索解决方案,因为第一次搜索将被 chached,因此后续搜索会非常快。

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

于 2012-08-24T08:55:55.040 回答