Skip to content

Number Resolver

The number resolver maps a numeric value to a radial embedding. It is designed for fields that contain a continuous numeric value within a known range (e.g. a price, a rating, a distance).

How It Works

The input value is normalised to a [0, 1] range with respect to the configured min and max values. The normalised value is then mapped to an angle covering 1.5π radians (not a full circle), ensuring that values at opposite ends of the range are not given similar embeddings. The output is a two-dimensional vector of (cos θ, sin θ) coordinates, scaled by an optional multiplier.

Settings

Setting Type Default Description
min number 0.0 Lower bound of the value range.
max number (required) Upper bound of the value range. Must be greater than min.
multiplier number 1.0 Scaling factor applied to the embedding. Increase to give this aspect more weight.

Embedding Size

The number resolver always produces 2 dimensions.

Validation

  • min must be strictly less than max.
  • Input values must be within the [min, max] range (inclusive).

Example

{
  "name": "price",
  "type": "number",
  "path": "$.price",
  "settings": {
    "min": 0.0,
    "max": 1000.0,
    "multiplier": 1.0
  }
}