maxDistinctFraction
Distinct values a path may have per document and still be worth an inverted index.
Unbounded by default, and that default is not a placeholder: a path with a distinct value per document is a perfectly good equality index — it is the best one — so excluding it by default would be confusing a bitmap's storage shape with an index's usefulness. The estimator cannot tell an identifier from a category, because they are the same shape.
What separates them is how many rows the caller expects back, which the scorer never knows and the caller always does. 1.0 / 50 says a term should name a category: at most one distinct value per fifty documents, so a lookup returns a group rather than a row. Without it the top recommendation over a corpus of prose is the prose — every line of it, perfectly type-stable, enormously distinct, and not a question anybody has.
Measured against InferredSchema.documentCount and against the estimate at the path, so a repeated path may legitimately exceed 1.0: $.tags[*] can hold more distinct values than there are documents. That is the same asymmetry InferredField.presence has, kept for the same reason — documents are the unit the answer is counted in.
Like minDistinct it gates the inverted index alone and never IndexKind.SHREDDED_COLUMN.