Module stac_fastapi.core.extensions.filter¶
Filter extension logic for es conversion.
Variables¶
queryables_mapping
Functions¶
cql2_like_to_es¶
def cql2_like_to_es(
string: str
) -> str
Convert CQL2 wildcard characters to Elasticsearch wildcard characters. Specifically, it converts '_' to '?' and '%' to '*', handling escape characters properly.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
string | str | The string containing CQL2 wildcard characters. | None |
Returns:
Type | Description |
---|---|
str | The converted string with Elasticsearch compatible wildcards. |
to_es¶
def to_es(
query: Dict[str, Any]
) -> Dict[str, Any]
Transform a simplified CQL2 query structure to an Elasticsearch compatible query DSL.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
query | Dict[str, Any] | The query dictionary containing 'op' and 'args'. | None |
Returns:
Type | Description |
---|---|
Dict[str, Any] | The corresponding Elasticsearch query in the form of a dictionary. |
to_es_field¶
def to_es_field(
field: str
) -> str
Map a given field to its corresponding Elasticsearch field according to a predefined mapping.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
field | str | The field name from a user query or filter. | None |
Returns:
Type | Description |
---|---|
str | The mapped field name suitable for Elasticsearch queries. |
Classes¶
AdvancedComparisonOp¶
class AdvancedComparisonOp(
/,
*args,
**kwargs
)
Enumeration for advanced comparison operators like 'like', 'between', and 'in'.
Ancestors (in MRO)¶
- builtins.str
- enum.Enum
Class variables¶
BETWEEN
IN
LIKE
name
value
ComparisonOp¶
class ComparisonOp(
/,
*args,
**kwargs
)
Enumeration for comparison operators used in filtering queries according to CQL2 standards.
Ancestors (in MRO)¶
- builtins.str
- enum.Enum
Class variables¶
EQ
GT
GTE
IS_NULL
LT
LTE
NEQ
name
value
LogicalOp¶
class LogicalOp(
/,
*args,
**kwargs
)
Enumeration for logical operators used in constructing Elasticsearch queries.
Ancestors (in MRO)¶
- builtins.str
- enum.Enum
Class variables¶
AND
NOT
OR
name
value
SpatialIntersectsOp¶
class SpatialIntersectsOp(
/,
*args,
**kwargs
)
Enumeration for spatial intersection operator as per CQL2 standards.
Ancestors (in MRO)¶
- builtins.str
- enum.Enum
Class variables¶
S_INTERSECTS
name
value