I have not yet had a chance to install the ColdFusion 10 beta and try the new and improved CFSEARCH tag. However, this morning when looking at the Solr enhancements page for CF 10, under “Storing your custom data” I noticed the following:
Consider the following code:
<cfsearch criteria='some_criteria and column_i: [ 10 - 20 ]'...>Here,
some_criteria
indicates filtering. For examplecolumn_i: [ 10 - 20 ]
means search all items whose values are between 10 and 20.column_i
is the custom field provided by user while indexing.
If this is truly the case, then ColdFusion is tweaking the query text before sending to Solr as Solr uses the “TO” keyword in range queries. Using a hyphen does not work in queries to the Solr web service.
Believe it or not, ColdFusion 9 does seem to include support for range queries – at least, it will not return an error when you attempt a range query on a CF-approved™ field such as custom1, custom2, etc. (I say “seems” because I’ve not been able to get CFSEARCH to return any actual data using such a query.) However, using a hyphen instead of the “TO” keyword causes an error and that error comes from Solr rather than directly from ColdFusion. So it appears that as of version 9 at least, ColdFusion does not replace the hyphen in range queries with the relevant Solr operator.