我正在尝试使用 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
这也将返回重复项,因此您应该在服务器中处理以避免重复