示例查询:
(Sale OR Discount) AND (Apple OR Banana OR Raspberry)
现在我想要(销售或折扣)和至少两个水果。
此刻,我正在使用edismax解析器,该解析器具有mm(最小值应匹配)参数。但是mm如何应用于上面的查询? mm = 2在AND的两边都需要两个项吗?
更新:MatsLindh已经指出使用过滤器查询是在gerneal中一个很好的解决方案。在我的用例中,我希望找到任何解决方案将其全部保留在主查询中。
答案 0 :(得分:1)
将Sale OR Discount
子句移至fq
-过滤器查询将用于进一步过滤从第一组术语返回的结果集。然后,您可以使用mm=2
来匹配两个水果作为主要查询。
q=Apple Banana Raspberry&mm=2&fq=field:(Sale OR Discount)