Skip to content

Commit 6ba27fd

Browse files
committed
changelog, readme
1 parent f2da9c5 commit 6ba27fd

File tree

2 files changed

+631
-13
lines changed

2 files changed

+631
-13
lines changed

CHANGELOG.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,26 +11,26 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
1111
### Added
1212

1313
- Added comprehensive index management system with dynamic selection and insertion strategies for improved performance and scalability [#405](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/405)
14-
- Added `ENABLE_DATETIME_INDEX_FILTERING` environment variable to enable datetime-based index selection using collection IDs. Requires indexes in format: `STAC_ITEMS_INDEX_PREFIX_collection-id_start_year-start_month-start_day-end_year-end_month-end_day`, e.g. `items_sentinel-2-l2a_2025-06-06-2025-09-22`. Default is `false`. [#405](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/405)
15-
- Added `DATETIME_INDEX_MAX_SIZE_GB` environment variable to set maximum size limit in GB for datetime-based indexes. When an index exceeds this size, a new time-partitioned index will be created. Default is `25` GB. Only applies when `ENABLE_DATETIME_INDEX_FILTERING` is enabled. [#405](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/405)
16-
- Added search engine adapter system with support for both Elasticsearch and OpenSearch [#405](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/405):
17-
- `SearchEngineAdapter` base class with engine-specific implementations
18-
- `ElasticsearchAdapter` and `OpenSearchAdapter` with tailored index creation methods
19-
- Automatic engine type detection based on client class
20-
- `SearchEngineAdapterFactory` for creating appropriate adapters
14+
- Added `ENABLE_DATETIME_INDEX_FILTERING` environment variable to enable datetime-based index selection using collection IDs. When enabled, the system creates indexes with UUID-based names and manages them through time-based aliases. Default is `false`. [#405](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/405)
15+
- Added `DATETIME_INDEX_MAX_SIZE_GB` environment variable to set maximum size limit in GB for datetime-based indexes. When an index exceeds this size, a new time-partitioned index will be created. Note: add +20% to target size due to ES/OS compression. Default is `25` GB. Only applies when `ENABLE_DATETIME_INDEX_FILTERING` is enabled. [#405](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/405)
16+
- Added index operations system with unified interface for both Elasticsearch and OpenSearch [#405](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/405):
17+
- `IndexOperations` class with common index creation and management methods
18+
- UUID-based physical index naming: `{prefix}_{collection-id}_{uuid4}`
19+
- Alias management: main collection alias, temporal aliases, and closed index aliases
20+
- Automatic alias updates when indexes reach size limits
2121
- Added datetime-based index selection strategies with caching support [#405](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/405):
22-
- `AsyncDatetimeBasedIndexSelector` and `SyncDatetimeBasedIndexSelector` for temporal filtering
22+
- `DatetimeBasedIndexSelector` for temporal filtering with intelligent caching
2323
- `IndexCacheManager` with configurable TTL-based cache expiration (default 1 hour)
24-
- `AsyncIndexAliasLoader` and `SyncIndexAliasLoader` for alias management
24+
- `IndexAliasLoader` for alias management and cache refresh
2525
- `UnfilteredIndexSelector` as fallback for returning all available indexes
2626
- Added index insertion strategies with automatic partitioning [#405](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/405):
27-
- Simple insertion strategy (`AsyncSimpleIndexInserter`, `SyncSimpleIndexInserter`) for traditional single-index-per-collection approach
28-
- Datetime-based insertion strategy (`AsyncDatetimeIndexInserter`, `SyncDatetimeIndexInserter`) with time-based partitioning
27+
- Simple insertion strategy (`SimpleIndexInserter`) for traditional single-index-per-collection approach
28+
- Datetime-based insertion strategy (`DatetimeIndexInserter`) with time-based partitioning
2929
- Automatic index size monitoring and splitting when limits exceeded
3030
- Handling of chronologically early data and bulk operations
3131
- Added index management utilities [#405](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/405):
32-
- `IndexSizeManager` for size monitoring and overflow handling
33-
- `DatetimeIndexManager` for datetime-based index operations
32+
- `IndexSizeManager` for size monitoring and overflow handling with compression awareness
33+
- `DatetimeIndexManager` for datetime-based index operations and validation
3434
- Factory patterns (`IndexInsertionFactory`, `IndexSelectorFactory`) for strategy creation based on configuration
3535

3636

0 commit comments

Comments
 (0)