我正在使用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的结果,只丢弃不需要的结果。
我真的不喜欢这两个选项,但我在文档中找不到一种方法来指定每个组的偏移量和限制。
如有任何建议,我们将不胜感激。
发布于 2012-08-24 16:55:55
我从LucinWorks得到确认,我想要做的事情是不可能的,他们建议使用多搜索解决方案,因为第一次搜索将被缓存,因此后续搜索将非常快。
我想我最终要做的是对搜索结果进行分组,每组获取前n个结果,然后使用ajax对每个组进行分页。
https://stackoverflow.com/questions/12094736
复制相似问题