基于特定查询的 solr 结果分组



我正在尝试使用 solr 进行某种"不同"的分组/分面。情况是,我们允许用户按字段 X、Y 和 Z 进行搜索

显示的分组计数具有以下要求:X( 与 Y 和 Z 匹配的文档 )Y( 与 X 和 Z 匹配的文档 )Z( 匹配 X 和 Y 的文档 )

我真的不想运行多个查询来做到这一点,有没有更好的方法?

无需触发多个查询。您可以使用facet.pivot来实现它。尝试给予

facet=true&facet.pivot=field_a,field_b&facet.pivot=field_b,field_c&facet.pivot=field_c,field_a 

它也不会提供您需要的东西。所以应该是

facet=true&facet.pivot=field_a,field_b&facet.pivot=field_b,field_c&facet.pivot=field_c,field_a&facet.pivot=field_b,field_a&facet.pivot=field_c,field_b&facet.pivot=field_a,field_c 

这也将返回重复项,因此您应该在服务器中处理以避免重复

最新更新