Right - it made sense to me to go through the FunctionQuery/ValueSource abstraction to do range filters, as it's a superset of just going off of the FieldCache (it could work with functions, FileFloatSource, and future payload or column-stored fields too).
Very cool!
It would be nice if one could tag a field with info to use ValueSourceRangeFilter for any range queries
As an extra attribute in the schema? e.g.
<field name="xyz" type="integer" indexed="true" stored="true" useValueSourceRangeFilter="true" />
+1 for this. It is easier/cleaner than the local param syntax but I guess we'd need to support both anyway. Solrj does not have API methods to manipulate local params and I think this is a good time to add that support.
I've been meaning to get back to this patch... at a minimum it would need support for all of the field types as well as tests. I think I may even have some local updates since this last patch - I'll have to check.
Can you post your updates? SOLR-940 (Trie support) is mostly done and I can try to spend some time on this one. Per the 1.4 release discussion, these two are the major features stopping the 1.4 release, though I'm sure we'll find more
Attaching incomplete draft to help give a feel for the approach.
Functionallity can be accessed via frange QParser (stands for function range).
fq=
{!frange l=5 u=10}popularityfq={!frange l=5 u=10}
product(popularity,2)