我过去曾与 solr 合作过,但大多数情况下搜索都是直截了当的。我们现在遇到了一种情况,我们希望搜索可以限制“AND”上的结果......使用如下示例:
Doc 1 --> StudentID:123 ClassID: 001
Doc 2 --> StudentID:123 ClassID:002
Doc 3 --> StudentID:987 ClassID:001
所需查询的“英语”版本将是“给我所有班级中具有 classID:001 和 ClassID:002 的学生。这只会返回 StudentID:123 而忽略 Student:987。
诚然,我们的实际查询比这个 b/c 复杂得多,该类还可以具有其他属性,例如时间、日期等。但我想看看是否可以在首先完成基本的“AND”过滤方面获得一些帮助。
这就是我们当前实现它的方式,它“似乎”可以工作,但由于类的数量可以是动态的,这意味着我们需要动态更新 mincount。只是好奇是否有“更好”的方法。
q=*:*&fq=(ClassID:001)OR(ClassID:002)&rows=0&group=true&group.field=ClassID&group.facet=true&group.ngroups=true&facet=true&facet.field=ClassID&facet.mincount=2&facet.field=StudentID
我确信有一个我还没有找到的直接方法,所以我把这个问题交给了专家。帮助表示赞赏!