Operators

Overview

Operators describe how filter values are interpreted.

Lightcast MCP currently supports two explicit operator values:

  • or
  • and

Range-based filtering is also supported, but is expressed through structured fields such as lowerBound, upperBound, start, and end rather than through the operator property.

Operator Summary

ConceptRequest RepresentationMeaning
OR"operator": "or"Match any of the supplied values.
AND"operator": "and"Match all supplied values, where the dimension supports AND semantics.
Minimum Value (GTE)lowerBoundMatch values greater than or equal to a lower bound.
Maximum Value (LTE)upperBoundMatch values less than or equal to an upper bound.
Numeric Range (BETWEEN)lowerBound and upperBoundMatch values within a numeric range.
Date or Time Range (RANGE)start and end, or lower and upper boundsMatch values within a date, year, salary, or experience range.

OR

The or operator matches any supplied value. It is the default operator for dimensions that expose an operator field.

{
  "occupation_soc": {
    "level": 4,
    "values": ["231718", "231717"],
    "operator": "or"
  }
}

Use or when a result can match any of the specified values.


AND

The and operator matches all supplied values for dimensions that support AND semantics.

The following dimensions support and:

DimensionDatasets
benefitjob_postings
education_program_cipjob_postings, profiles
education_schoolprofiles
postings_education_leveljob_postings
profiles_education_levelprofiles
skilljob_postings, profiles
{
  "skill": {
    "level": 3,
    "values": ["KS1200364C9C1LK3V5Q1", "KS1275N74XZ574T7N47D"],
    "operator": "and"
  }
}

Use and when results must satisfy every supplied value.


Minimum (GTE) and Maximum (LTE) Values

Some dimensions support numeric bounds.

Use lowerBound to specify a minimum value:

{
  "compensation_salary": {
    "level": 1,
    "values": {
      "lowerBound": 75000
    }
  }
}

Use upperBound to specify a maximum value:

{
  "experience": {
    "level": 1,
    "values": {
      "upperBound": 2
    }
  }
}

Use lowerBound for a minimum and upperBound for a maximum.

Numeric Ranges (BETWEEN)

Use both lowerBound and upperBound to define a numeric range..

{
  "experience": {
    "level": 1,
    "values": {
      "lowerBound": 3,
      "upperBound": 7
    }
  }
}

The upper bound must be greater than or equal to the lower bound.


Date and Time Ranges (RANGE)

Some dimensions use date- or time-based range fields.

Job Postings Time Range

{
  "time": {
    "level": 1,
    "values": {
      "start": "2024-01",
      "end": "2024-12",
      "postingType": "posted"
    }
  }
}

Profile Last-Updated Range

{
  "time": {
    "level": 1,
    "values": {
      "lastUpdatedStart": "2020",
      "lastUpdatedEnd": "2024"
    }
  }
}

Profile Education Graduation Year Range

{
  "education_grad_year": {
    "level": 1,
    "values": {
      "start": "2018",
      "end": "2022"
    }
  }
}


Did this page help you?