A purely negative sub-query is not supported by Lucene - you need to have
at least one positive term, such as "*:*, at each level of sub-query. Try:

((*:* -(field:V1) AND -(field:V2)) AND -(field:V3))

-- Jack Krupansky

On Wed, Apr 22, 2015 at 10:56 AM, Dhutia, Devansh <ddhu...@gannett.com>
wrote:

> I have an automated filter query builder that uses the SolrNet nuget
> package to build out boolean filters. I have a scenario where it is
> generating a fq in the following format:
>
> ((-(field:V1) AND -(field:V2)) AND -(field:V3))
> The filter looks legal to me (albeit with extra parentheses), but the
> above yields 0 total results, even though I know eligible data exists.
>
> If I manually re-write the above filter as
>
> (-(field:V1) AND -(field:V2) AND -(field:V3))
> I get the expected results.
>
> I realize the auto generated filter could be rewritten in a different way,
> but the question still remains, why is the first version not returning any
> results?
>
> Solr does not report any errors & returns successfully, just with 0
> results.
>
> Thanks
>

Reply via email to