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
+30-1Lines changed: 30 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -7,10 +7,36 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
7
7
8
8
## [Unreleased]
9
9
10
+
### Changed
11
+
12
+
- Added note on the use of the default `*` use in route authentication dependecies. [#325](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/325)
13
+
- Bugfixes for the `IsNull` operator and datetime filtering [#330](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/330)
14
+
15
+
## [v3.2.2] - 2024-12-15
16
+
17
+
### Changed
18
+
19
+
- Use base64 encoded JSON string of sort keys as pagination token instead of comma-separated string [#323](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/323)
20
+
21
+
## [v3.2.1] - 2024-11-14
22
+
23
+
### Added
24
+
25
+
- Added `dockerfiles/Dockerfile.ci.os` and `dockerfiles/Dockerfile.ci.es`, along with their respective entrypoints [#311](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/311)
26
+
27
+
### Changed
28
+
29
+
- Updated the `publish.yml` workflow to include Docker image publishing to GitHub Container Registry [#311](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/311)
30
+
- Improved the README with detailed descriptions of the new Docker images, providing guidance for images. [#311](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/311)
31
+
- Aggregation ElasticSearch `total_count` bugfix, moved aggregation text to docs. [#314](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/314)
32
+
33
+
## [v3.2.0] - 2024-10-09
34
+
10
35
### Added
11
36
12
37
- Added `datetime_frequency_interval` parameter for `datetime_frequency` aggregation. [#294](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/294)
13
38
- Added rate limiting functionality with configurable limits using environment variable `STAC_FASTAPI_RATE_LIMIT`, example: `500/minute`. [#303](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/303)
39
+
- Added publish.yml to automatically publish new releases to PyPI [#305](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/305)
14
40
15
41
### Changed
16
42
@@ -263,7 +289,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
263
289
- Use genexp in execute_search and get_all_collections to return results.
264
290
- Added db_to_stac serializer to item_collection method in core.py.
### To install and run via pre-built Docker Images
47
+
48
+
We provide ready-to-use Docker images through GitHub Container Registry ([ElasticSearch](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pkgs/container/stac-fastapi-es) and [OpenSearch](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pkgs/container/stac-fastapi-os) backends). You can easily pull and run these images:
## Run Elasticsearch API backend on localhost:8080
59
+
60
+
You need to ensure [**Docker Compose**](https://docs.docker.com/compose/install/) or [**Podman Compose**](https://podman-desktop.io/docs/compose) installed and running on your machine. In the follwoing command instead of `docker-compose` you can use `podman-compose` as well.
54
61
55
62
```shell
56
-
docker-compose up app-elasticsearch
63
+
docker-compose up elasticsearch app-elasticsearch
57
64
```
58
65
59
66
By default, docker-compose uses Elasticsearch 8.x and OpenSearch 2.11.1.
@@ -66,6 +73,35 @@ OPENSEARCH_VERSION=2.11.0
66
73
```
67
74
The most recent Elasticsearch 7.x versions should also work. See the [opensearch-py docs](https://github.com/opensearch-project/opensearch-py/blob/main/COMPATIBILITY.md) for compatibility information.
68
75
76
+
#### **Configuration reference keys:**
77
+
78
+
You can customize additional settings in your `.env` file:
|`WEB_CONCURRENCY`| Number of worker processes. |`10`| Optional |
94
+
|`RELOAD`| Enable auto-reload for development. |`true`| Optional |
95
+
|`STAC_FASTAPI_RATE_LIMIT`| API rate limit per client. |`200/minute`| Optional |
96
+
|`BACKEND`| Tests-related variable |`elasticsearch` or `opensearch` based on the backend | Optional |
97
+
|`ELASTICSEARCH_VERSION`| ElasticSearch version |`7.17.1`| Optional |
98
+
|`OPENSEARCH_VERSION`| OpenSearch version |`2.11.0`| Optional |
99
+
100
+
> [!NOTE]
101
+
> The variables `ES_HOST`, `ES_PORT`, `ES_USE_SSL`, and `ES_VERIFY_CERTS` apply to both Elasticsearch and OpenSearch backends, so there is no need to rename the key names to `OS_` even if you're using OpenSearch.
102
+
103
+
## Interacting with the API
104
+
69
105
To create a new Collection:
70
106
71
107
```shell
@@ -279,111 +315,9 @@ The modified Items with lowercase identifiers will now be visible to users acces
279
315
280
316
Authentication is an optional feature that can be enabled through `Route Dependencies` examples can be found and a more detailed explanation in [examples/auth](examples/auth).
281
317
282
-
283
318
## Aggregation
284
319
285
-
Sfeos supports the STAC API [Aggregation Extension](https://github.com/stac-api-extensions/aggregation). This enables geospatial aggregation of points and geometries, as well as frequency distribution aggregation of any other property including dates. Aggregations can be defined at the root Catalog level (`/aggregations`) and at the Collection level (`/<collection_id>/aggregations`). The `/aggregate` route also fully supports base search and the STAC API [Filter Extension](https://github.com/stac-api-extensions/filter). Any query made with `/search` may also be executed with `/aggregate`, provided that the relevant aggregation fields are available,
286
-
287
-
288
-
A field named `aggregations` should be added to the Collection object for the collection for which the aggregations are available, for example:
- centroid_geohash_grid_frequency ([geohash grid](https://opensearch.org/docs/latest/aggregations/bucket/geohash-grid/) on Item.Properties.proj:centroid)
381
-
- centroid_geohex_grid_frequency ([geohex grid](https://opensearch.org/docs/latest/aggregations/bucket/geohex-grid/) on Item.Properties.proj:centroid)
382
-
- centroid_geotile_grid_frequency (geotile on Item.Properties.proj:centroid)
383
-
- geometry_geohash_grid_frequency ([geohash grid](https://opensearch.org/docs/latest/aggregations/bucket/geohash-grid/) on Item.geometry)
384
-
- geometry_geotile_grid_frequency ([geotile grid](https://opensearch.org/docs/latest/aggregations/bucket/geotile-grid/) on Item.geometry)
385
-
386
-
Support for additional fields and new aggregations can be added in the associated `database_logic.py` file.
320
+
Aggregation of points and geometries, as well as frequency distribution aggregation of any other property including dates is supported in stac-fatsapi-elasticsearch-opensearch. Aggregations can be defined at the root Catalog level (`/aggregations`) and at the Collection level (`/<collection_id>/aggregations`). Details for supported aggregations can be found in [the aggregation docs](./docs/src/aggregation.md)
0 commit comments