We handle two main scenarios here:
  1. Queries like `FROM index | SORT field` will be pushed to the source if the field is an indexed field.
  2. Queries like `FROM index | EVAL ref = ... | SORT ref` will be pushed to the source if the reference function is pushable, which can happen under two conditions:
    • The reference refers linearly to an indexed field. For example: `FROM index | EVAL ref = field | SORT ref`
    • The reference refers to a distance function that refers to an indexed field and a constant expression. For example `FROM index | EVAL distance = ST_DISTANCE(field, POINT(0, 0)) | SORT distance`. As with the previous condition, both the attribute and the constant can be further aliased.