Files
ocis/changelog/unreleased/enhancement-kql-numeric-range-queries.md
Paul Faure 4b7349037f feat(kql): support numeric range queries (>=, <=, >, <)
Add NumericRestrictionNode to the KQL PEG grammar so that range
operators work with numeric values, not just DateTimes. This enables
queries like `size>=1048576`, `photo.iso>=100`, `photo.fNumber>=2.8`,
and `photo.focalLength<50`.

Changes:
- ast: add NumericNode with Key, Operator, Value (float64)
- kql/dictionary.peg: add NumericRestrictionNode and Number rules
- kql/factory.go: add buildNumericNode()
- kql/cast.go: add toFloat64()
- bleve/compiler.go: compile NumericNode to NumericRangeQuery

Fixes: #12093

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 23:51:08 -05:00

525 B

Enhancement: Support numeric range queries in KQL

The KQL parser now supports numeric range queries using comparison operators (>=, <=, >, <) on numeric fields. Previously, range operators only worked with DateTime values, causing queries like size>=1048576 or photo.iso>=100 to silently fail by falling through to free-text search.

Affected numeric fields: Size, photo.iso, photo.fNumber, photo.focalLength, photo.orientation.

https://github.com/owncloud/ocis/pull/12094 https://github.com/owncloud/ocis/issues/12093