The implicit assumption here is that the default value for a missing field value causes Modifier.apply(...) to evaluate to one. People can circumvent this by using the missing filter together with another function score function that implements a different default behavior but maybe that should be documented?
Alternatively, we could allow to pass a default field value.