Hi, It appears this was broken in 8.0 by https://issues.apache.org/jira/browse/SOLR-12768 And then fixed in 9.0 (not released) by SOLR-15156
I didn't back-port the fix because I thought users might be relying on the escaping behavior. I didn't realize such escaping didn't exist before SOLR-12768. In light of this, the change would make an appropriate addition to 8.9 but not a bug-fix version. A work-around is to express your query without colons, since the internal logic is gated on that. So something like: childFilter='+{!field f=docType v=child_doc_type} +{!field f=color v=Red}' etc. Disclaimer: I didn't test that; it *may* be necessary to move out some of this into other parameters based on parsing rules/restrictions e.g. childFilter=$theChildFilter and then add a top-level param. But I think it's not needed. ~ David Smiley Apache Lucene/Solr Search Developer http://www.linkedin.com/in/davidwsmiley On Tue, May 4, 2021 at 6:30 PM Jonathan Bridges <jondbrid...@gmail.com> wrote: > Hello, > > With Solr 8.8.2 I am unable to provide more than one filter in the fl > "childFilter" param. > > For example, > > fq={!parent which='docType:parent_doc_type'} docType: child_doc_type AND > color: Red AND size: Large > > This fq will filter all parent documents which have child documents that > are 'Red' and 'Large'. > > Now I want to show the parents with the children in the result, but only > the children which are 'Red' and 'Large'. In the past (Solr v6) I would > accomplish this with: > > fl=*, [child childFilter='docType:child_doc_type AND color: Red AND size: > Large'] > However, with Solr 8.8.2 I get no children in the results and no errors. > > If I remove the extra AND conditions: > > fl=*, [child childFilter='docType:child_doc_type'] > I then get all child documents, even ones which are Blue and Small. > > How can I include only child documents which match the fq? Is there some > way to specify multiple conditions now that I just can't find in the docs? > > Thanks for any help. >