ParametricRangeQueryNodeProcessor currently works as follows:
- If the operator was LE or GE, set inclusive = true.
- Set up a calendar
- If inclusive, set the second time to 23:59:59:999
- Convert that to a string using the DateResolution.
The problem is, this breaks for exclusive queries. For instance, if the user types in {20100110 TO 20100120} they would expect to get the 10th to the 20th exclusive, i.e. the 11th to the 19th. But in reality, the 10th will be inclusive.
To get an actually-exclusive range for the lower bound, the time should be set to 23:59:59:999, much the same as what is done for the inclusive upper bound.
I suspect the original query parser has the same issue, though possibly in different words.
Migrated from LUCENE-3353 by Trejkaz