mkhludnev commented on code in PR #2025:
URL: https://github.com/apache/solr/pull/2025#discussion_r1385654200


##########
solr/core/src/java/org/apache/solr/search/join/FiltersQParser.java:
##########
@@ -61,6 +61,9 @@ protected BooleanQuery parseImpl() throws SyntaxError {
     for (Map.Entry<QParser, Occur> clause : clauses.entrySet()) {
       builder.add(unwrapQuery(clause.getKey().getQuery(), clause.getValue()), 
clause.getValue());
     }
+
+    builder.setMinimumNumberShouldMatch(minShouldMatch());

Review Comment:
   > Could it be because FILTER clauses are considered required, and never 
optional?
   
   indeed [Like 
MUST](https://lucene.apache.org/core/9_4_1/core/org/apache/lucene/search/BooleanClause.Occur.html#FILTER)
 
   
   > 
   > Also, if one needs to use, say, three clauses in the filter query and make 
sure that at least two match, - it should be possible to construct such filter 
query as `{!bool filter=...}`, where the only FILTER clause is itself a boolean 
query with three SHOULD clauses and mm=2.
   
   perhaps, 
   
   1. wrap a such of bool of should via single clause filter. 
   2. wipe the score of that `{!bool should=... mm=2}^=0`
   3. or wipe scores of underneath filters via `{!bool should=A:b^=0  
should=C:d^=0 should=E:f^=0 mm=2}`
   
   NB: I'm not sure whether parser is capable to parse those options above. If 
it isn't, one can trick it with local param referencing.  
   
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org
For additional commands, e-mail: issues-h...@solr.apache.org

Reply via email to