我正在使用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,只是丢弃我不需要的结果。
我真的不喜欢任何一个选项,但我在文档中找不到一种方法来指定每组的偏移和限制。
任何建议都会受到最高的赞赏。
答案 0 :(得分:0)
我已经从LucinWorks那里得到确认,我想做的事情是不可能的,他们建议使用多种搜索解决方案,因为第一次搜索将被追逐,因此后续搜索会非常快。
我认为我最终要做的是将每个组的前n个结果分组,然后使用ajax对每个组进行分页。