Follow-up on HSEARCH-3221.
Essentially allow to do this in the predicate DSL:
and this in the sort DSL:
... so that <value> is interpreted as the un-converted (raw) value of the field, and is not passed through the user-defined converter, but through a "pass-through" converter.
This should allow us to introduce a consistent syntax for the projection DSL, to project on a field without converting it:
On the backend side, this means we will have to inform the backend, when fetching a builder, that:
Compatibility checks should ignore any custom converter
Methods such as org.hibernate.search.engine.search.predicate.spi.MatchPredicateBuilder#value, org.hibernate.search.engine.search.predicate.spi.RangePredicateBuilder#lowerLimit or org.hibernate.search.engine.search.dsl.sort.FieldSortMissingValueContext#use should ignore any custom converter and use a PassThroughToDocumentFieldValueConverter instead.
How to do that remains to be seen...