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

14 lines
525 B
Markdown

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