-
Notifications
You must be signed in to change notification settings - Fork 33
Closed
Description
Describe the bug
IS NULL is included in the filter extension logic. However, I cannot get it to work with cql2-json or cql2-text.
stac-fastapi-elasticsearch-opensearch/stac_fastapi/core/stac_fastapi/core/extensions/filter.py
Line 74 in 2d6cb4d
| IS_NULL = "isNull" |
To Reproduce
Steps to reproduce the behavior:
docker compose up app-opensearchordocker compose up app-elasticsearchpython3 data_loader.py --base-url http://localhost:8082- Try the following:
POSThttp://localhost:8082/search
body
{
"filter-lang": "cql2-json",
"filter": {
"op": "isNull",
"args": [ { "property": "sentinel:data_coverage" } ]
}
}{
"detail": "Error with cql2_json filter: Q() can only accept dict with a single query ({\"match\": {...}}). Instead it got ({})"
}GET http://localhost:8082/search?filter=sentinel:data_coverage > 50 OR landsat:coverage_percent < 10 OR (sentinel:data_coverage IS NULL AND landsat:coverage_percent IS NULL)
{
"detail": "Error with cql2_json filter: Q() can only accept dict with a single query ({\"match\": {...}}). Instead it got ({})"
}Expected behavior
valid ItemCollection
Metadata
Metadata
Assignees
Labels
No labels