Kevin Bourne
Kevin Bourne

Reputation: 21

In Opensearch, can you perform a date range query against just a single item of a date_range field?

I have an Opensearch field defined as a date_range:

   "timeRange": {
      "type": "date_range"
    }

I know that I can use a range query to determine if an object's date_range intersects/contains/within a provided range such as:

{
  "query": {
    "range": {
      "timeRange": {
        "gte": "2025-02-24T00:00:00.000Z"
        "lte": "2025-02-25T00:00:00.000Z"
      }
    }
  }
}

But what if I want to search for the start date (gte) in a range such as:

{
  "query": {
    "range": {
      "timeRange.gte": {
        "gte": "2025-02-24T00:00:00.000Z"
        "lte": "2025-02-25T00:00:00.000Z"
      }
    }
  }
}

This doesn't seem to work. Is it possible to determine whether the start or end date is within a range for a date_range field? If not then I assume the best way would be to map the gte and lte fields to date fields as well? This way I could still use a range query against the range field as needed but then I could do a range query against one of the individual dates using the date mapped fields.

Upvotes: 0

Views: 7

Answers (0)

Related Questions