Skip to content

Commit 9e4c009

Browse files
committed
added esql mapping
1 parent a622fc2 commit 9e4c009

File tree

1 file changed

+32
-14
lines changed
  • uncoder-core/app/translator/platforms/elasticsearch/renders

1 file changed

+32
-14
lines changed

uncoder-core/app/translator/platforms/elasticsearch/renders/esql.py

Lines changed: 32 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
from app.translator.core.render import BaseFieldValueRender, PlatformQueryRender
2727
from app.translator.managers import render_manager
2828
from app.translator.platforms.elasticsearch.const import elasticsearch_esql_query_details
29-
from app.translator.platforms.elasticsearch.mapping import LuceneMappings, esql_query_mappings
29+
from app.translator.platforms.elasticsearch.mapping import ElasticESQLMappings, esql_query_mappings
3030
from app.translator.platforms.elasticsearch.str_value_manager import (
3131
ESQLQueryStrValueManager,
3232
esql_query_str_value_manager,
@@ -54,52 +54,70 @@ def _wrap_str_value(value: str) -> str:
5454
def equal_modifier(self, field: str, value: DEFAULT_VALUE_TYPE) -> str:
5555
if isinstance(value, list):
5656
return f"({self.or_token.join([self.equal_modifier(field=field, value=v) for v in value])})"
57-
return f"{field} == {self._pre_process_value(field, value, value_type=ValueType.value, wrap_str=True)}"
57+
return f"{field} == {self._pre_process_value(
58+
field, value, value_type=ValueType.value, wrap_str=True, wrap_int=True
59+
)}"
5860

5961
def less_modifier(self, field: str, value: Union[int, str]) -> str:
60-
return f"{field} < {self._pre_process_value(field, value, value_type=ValueType.value, wrap_str=True)}"
62+
return f"{field} < {self._pre_process_value(
63+
field, value, value_type=ValueType.value, wrap_str=True, wrap_int=True
64+
)}"
6165

6266
def less_or_equal_modifier(self, field: str, value: Union[int, str]) -> str:
63-
return f"{field} <= {self._pre_process_value(field, value, value_type=ValueType.value, wrap_str=True)}"
67+
return f"{field} <= {self._pre_process_value(
68+
field, value, value_type=ValueType.value, wrap_str=True, wrap_int=True
69+
)}"
6470

6571
def greater_modifier(self, field: str, value: Union[int, str]) -> str:
66-
return f"{field} > {self._pre_process_value(field, value, value_type=ValueType.value, wrap_str=True)}"
72+
return f"{field} > {self._pre_process_value(
73+
field, value, value_type=ValueType.value, wrap_str=True, wrap_int=True
74+
)}"
6775

6876
def greater_or_equal_modifier(self, field: str, value: Union[int, str]) -> str:
69-
return f"{field} >= {self._pre_process_value(field, value, value_type=ValueType.value, wrap_str=True)}"
77+
return f"{field} >= {self._pre_process_value(
78+
field, value, value_type=ValueType.value, wrap_str=True, wrap_int=True
79+
)}"
7080

7181
def not_equal_modifier(self, field: str, value: DEFAULT_VALUE_TYPE) -> str:
7282
if isinstance(value, list):
7383
return f"({self.or_token.join([self.not_equal_modifier(field=field, value=v) for v in value])})"
74-
return f"{field} != {self._pre_process_value(field, value, value_type=ValueType.value, wrap_str=True)}"
84+
return f"{field} != {self._pre_process_value(
85+
field, value, value_type=ValueType.value, wrap_str=True, wrap_int=True
86+
)}"
7587

7688
def contains_modifier(self, field: str, value: DEFAULT_VALUE_TYPE) -> str:
7789
if isinstance(value, list):
7890
return f"({self.or_token.join(self.contains_modifier(field=field, value=v) for v in value)})"
7991
if field.endswith(".text"):
8092
return self.regex_modifier(field=field, value=value)
81-
return f'{field} like "*{self._pre_process_value(field, value, value_type=ValueType.value, wrap_str=False)}*"'
93+
return f'{field} like "*{self._pre_process_value(
94+
field, value, value_type=ValueType.value, wrap_str=False, wrap_int=True
95+
)}*"'
8296

8397
def endswith_modifier(self, field: str, value: DEFAULT_VALUE_TYPE) -> str:
8498
if field.endswith(".text"):
8599
return self.regex_modifier(field=field, value=value)
86100
if isinstance(value, list):
87101
return f"({self.or_token.join(self.endswith_modifier(field=field, value=v) for v in value)})"
88-
return f"ends_with({field}, {self._pre_process_value(field, value, value_type=ValueType.value, wrap_str=True)})"
102+
return f"ends_with({field}, {self._pre_process_value(
103+
field, value, value_type=ValueType.value, wrap_str=True, wrap_int=True
104+
)})"
89105

90106
def startswith_modifier(self, field: str, value: DEFAULT_VALUE_TYPE) -> str:
91107
if field.endswith(".text"):
92108
return self.regex_modifier(field=field, value=value)
93109
if isinstance(value, list):
94110
return f"({self.or_token.join(self.startswith_modifier(field=field, value=v) for v in value)})"
95-
return (
96-
f"starts_with({field}, {self._pre_process_value(field, value, value_type=ValueType.value, wrap_str=True)})"
97-
)
111+
return f"starts_with({field}, {self._pre_process_value(
112+
field, value, value_type=ValueType.value, wrap_str=True, wrap_int=True
113+
)})"
98114

99115
def regex_modifier(self, field: str, value: DEFAULT_VALUE_TYPE) -> str:
100116
if isinstance(value, list):
101117
return f"({self.or_token.join(self.regex_modifier(field=field, value=v) for v in value)})"
102-
pre_processed_value = self._pre_process_value(field, value, value_type=ValueType.regex_value, wrap_str=False)
118+
pre_processed_value = self._pre_process_value(
119+
field, value, value_type=ValueType.regex_value, wrap_str=False, wrap_int=True
120+
)
103121
if isinstance(pre_processed_value, str):
104122
value = self._make_case_insensitive(pre_processed_value)
105123
else:
@@ -113,7 +131,7 @@ def keywords(self, field: str, value: DEFAULT_VALUE_TYPE) -> str: # noqa: ARG00
113131
@render_manager.register
114132
class ESQLQueryRender(PlatformQueryRender):
115133
details: PlatformDetails = elasticsearch_esql_query_details
116-
mappings: LuceneMappings = esql_query_mappings
134+
mappings: ElasticESQLMappings = esql_query_mappings
117135
comment_symbol = "//"
118136

119137
or_token = "or"

0 commit comments

Comments
 (0)