You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,6 +9,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
9
9
10
10
### Added
11
11
12
+
- Added CQL2 Abstract Syntax Tree (AST) structure for efficient query parsing and datetime-based indexes. [#560](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/560)
13
+
12
14
- Environment variable `VALIDATE_QUERYABLES` to enable/disable validation of queryables in search/filter requests. When set to `true`, search requests will be validated against the defined queryables, returning an error for any unsupported fields. Defaults to `false` for backward compatibility.[#532](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/532)
13
15
14
16
- Environment variable `QUERYABLES_CACHE_TTL` to configure the TTL (in seconds) for caching queryables. Default is `1800` seconds (30 minutes) to balance performance and freshness of queryables data. [#532](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/532)
Copy file name to clipboardExpand all lines: README.md
+26Lines changed: 26 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -100,6 +100,7 @@ This project is built on the following technologies: STAC, stac-fastapi, FastAPI
100
100
-[Examples](#examples)
101
101
-[Performance](#performance)
102
102
-[Direct Response Mode](#direct-response-mode)
103
+
-[CQL2 JSON Search with AST-based Parsing](#cql2-json-search-with-ast-based-parsing)
103
104
-[Quick Start](#quick-start)
104
105
-[Installation](#installation)
105
106
-[Running Locally](#running-locally)
@@ -379,6 +380,31 @@ These examples provide practical reference implementations for various deploymen
379
380
-**Default setting**: `false` for safety.
380
381
-**More information**: See [issue #347](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/issues/347) for background and implementation details.
381
382
383
+
384
+
### CQL2 JSON Search with AST-based Parsing
385
+
386
+
SFEOS now uses an Abstract Syntax Tree (AST) in CQL2-JSON search queries for efficient query parsing and datetime extraction, enabling the selection and management of the appropriate searchable indexes.
387
+
388
+
#### AST-based Query Processing
389
+
390
+
The CQL2 implementation uses an Abstract Syntax Tree (AST) structure that replaces the previous dictionary-based processing. This enables:
391
+
392
+
1.**Structured Query Representation**: Queries are parsed into a tree structure with different node types
393
+
2.**Efficient Parameter Access**: Easy traversal and extraction of query parameters
394
+
3.**Optimized Index Selection**: Selection of appropriate fields for selection and management of indexes
395
+
396
+
#### AST Node Types
397
+
398
+
The AST supports various node types representing different query operations:
399
+
400
+
-**Logical Nodes**: `AND`, `OR`, `NOT` operators for combining conditions
0 commit comments