Skip to content

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