You can try
qf=my_array&q=+(2 4) +([* TO 1] [3 TO 3] [5 TO *])
It means
- my_array should contain 2 or 4
- my_array should contain the value x, where x <2, x between 3 and 3, x> 4
I know that between 3 and 3 little strange, but this is due to an example.
The caveat is that you need to calculate the client-side request in order to get the range offers correctly. Although the logic for calculating this is not too complicated.
I tried this with eDisMax , which is configured as follows
<requestHandler name="standard" class="solr.StandardRequestHandler"> <lst name="defaults"> <str name="defType">edismax</str> <str name="fl">*,score</str> <str name="mm">1</str> </lst> </requestHandler> <queryParser name="edismax" class="org.apache.solr.search.ExtendedDismaxQParserPlugin" />
source share