range().onField( "theField" ).below( "XX" ) should generate the query theField:[* TO XX] but instead we get theField:[_null_TO XX].
This happens when theField has a {noformat} '_null_' {noformat} null token specified (indexNullAs = {noformat} "_null_" {noformat} ).
The problem seems to be in ConnectedMultiFieldsRangeQueryBuilder which swaps the null value with the null token. While this is normal for term queries I do not believe it makes any sense for range queries because they support null bounds out of the box.
I have prepared here a branch with a UT and a fix: https://github.com/anistor/hibernate-search/tree/t_below_bug_m
|