Hi,
if I remember correctly, the {!func} query parser just uses the function to
assign the score to the search results.
It won't make much sense to use it in a 'fq' parameter.
I agree it's not well documented though.

You may be interested in the frange query parser instead:
https://solr.apache.org/guide/8_8/other-parsers.html#function-range-query-parser
 .

Aside from that, you may achieve the same with a simple range query:
fq=-(popularity:[* TO *]) (make sure the query parser you use it, supports
pure negative clauses.

Cheers
--------------------------
Alessandro Benedetti
Apache Lucene/Solr Committer
Director, R&D Software Engineer, Search Consultant

www.sease.io


On Fri, 25 Jun 2021 at 14:12, Rahul Goswami <rahul196...@gmail.com> wrote:

> Hello,
> I am using Solr 7.7.2. Below query is not returning expected results on the
> sample "techproducts" core.
>
>
> http://localhost:8983/solr/techproducts/select?debug=query&fq={!func}not(exists(popularity))&q=*:*&wt=json&rows=1
>
> The query returns ALL documents in 'numFound' despite the 'not' function.
> Result is the same even when with defType=edismax (although that should not
> interfere since I am specifying the 'func' parser).
> Does this warrant a JIRA?
>
> Thanks,
> Rahul
>

Reply via email to