Your question doesn't fully describe the setup you have, I'm assuming this is a followup to this: How to apply stop words at Solr query time?
Basically you're chaining up multiple clauses in an AND boolean query. Once Solr processes that it will remove the stopwords (as you expect).
So you end up with clause AND clause AND removed-stopword-clause (always FALSE) AND clause
. The result of this will always be 0 results.
This is explained in greater detail here:
Specifically what is happening is that the query parser passes "of" to the
analyzer for the name field, which removes the stopwords, including "of",
which results in no term to be queried. A Lucene BooleanQuery with no terms
will match... nothing. But then when you add another clause, you have the
combination of an empty term, and a specific term, which is equivalent to
just using the specific term. Think of a sequence of terms to be ANDed as a
set - if a term analyzing to no terms, there are no terms to add to the set
of terms to be ANDed.
Source: https://lucene.472066.n3.nabble.com/AND-query-not-working-on-stopwords-as-expected-tp4186817p4186843.html