Due to release 4.0 changing the default scoring precision from double to float (ENGINE-992)
we’ve had to change the default normalDistance values for the distance based dimensions
(integer, long, time, double, geoloc).

Here are the previous values and new current values.

type

was

now

integer

2,147,483,647 (Integer.MAX_VALUE)

1,000,000 (1e6)

long

1,000,000,000,000L (1e12)

1,000,000 (1e6)

time

3153600000000 (100 * 365 days)

unchanged

double

1,000,000,000,000 (1e12)

1,000,000 (1e6)

geoloc

~25k miles (circ of earth)

1,000 miles (or km)

If you were previously providing a value larger than 1,000,000 (1e6) then
you will want to choose a new smaller value to retain the same quality of
scoring.

As a reminder, normalDistance is usually configured as a dimension attribute
and is automatically provided if you set both min and max dimension attributes.

With this change, it might be tricky to adjust current custom weighting to
the new precision. If you experience issues with this transition, please reach out to us
and we will be happy to work through them with you.

The engine now more sanely defaults to UTF-8 when reading HTTP request content if an encoding
has not been explicitly specified. It previously relied on the embedded Jetty container’s default
encoding for some entry points.

This does not affect entry points that consume binary data directly. In particular, XML is still
treated as a binary stream and the encoding pulled from the preamble (defaulting to UTF-8 if not
specified).