It's called normalized score (Scores As Percentages).
You can use the following the following parameters to achieve that:
ns = {!func}product(scale(product(query({!type=edismax v=$q}),1),0,1),100)
fq = {!frange l=20}$ns
Where 20 is your 20% threshold.
Related: how do I normalise a solr/lucene score?
I would not recommend doing this because absolute score values in Lucene
are not meaningful (e.g., scores are not directly comparable across
searches). The ratio of a score to the highest score returned is
meaningful, but there is no absolute calibration for the highest score
returned, at least at present, so there is not a way to determine from
the scores what the quality of the result set is overall. There are
various approaches to improving this that have been discussed (making
the scores more directly comparable by encoding additional information
into the score and using that for normalization, or probably better,
generalizing the score to an object that contains multiple pieces of
information; e.g. the total number of query terms matched by the top
result if you are using default OR would be quite useful). None of
these ideas are implemented yet as far as I know. - @Chuck
Source: RE: Limiting Hits with a score threshold
Related: Re: A question about scoring function in Lucene