2626from app .translator .core .render import BaseFieldValueRender , PlatformQueryRender
2727from app .translator .managers import render_manager
2828from 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
3030from 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
114132class 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