@@ -70,9 +70,8 @@ def combine_subsequent_tokens(self) -> None:
7070 and self .tokens [i + 1 ].type == TokenTypes .SEARCH_TERM
7171 ):
7272 # Iterate over subsequent search_terms and combine
73- next_token , _ , next_position = self .tokens [i + 1 ]
74- combined_value += f" { next_token } "
75- end_position = next_position [1 ]
73+ combined_value += f" { self .tokens [i + 1 ].value } "
74+ end_position = self .tokens [i + 1 ].position [1 ]
7675 i += 1
7776
7877 combined_tokens .append (
@@ -270,16 +269,21 @@ def parse_query_tree(
270269 current_operator : typing .Optional [Query ] = None
271270
272271 while tokens :
273- token , token_type , position = tokens .pop (0 )
272+ token = tokens .pop (0 )
274273
275- if token_type == TokenTypes .FIELD :
274+ if token . type == TokenTypes .FIELD :
276275 # Create new search_field used by following search_terms
277- search_field = SearchField (token , position = position )
276+ search_field = SearchField (token . value , position = token . position )
278277
279- elif token_type == TokenTypes .SEARCH_TERM :
278+ elif token . type == TokenTypes .SEARCH_TERM :
280279 # Create new search_term and in case tree is empty, sets first root
281280 term_node = self .create_query_node (
282- token , False , position , search_field , None , search_field_par
281+ token .value ,
282+ False ,
283+ token .position ,
284+ search_field ,
285+ None ,
286+ search_field_par ,
283287 )
284288
285289 # Append search_term to tree
@@ -289,22 +293,24 @@ def parse_query_tree(
289293
290294 search_field = None
291295
292- elif token_type == TokenTypes .PROXIMITY_OPERATOR :
296+ elif token . type == TokenTypes .PROXIMITY_OPERATOR :
293297 # Split token into NEAR/WITHIN and distance
294- token , distance = self .convert_proximity_operators (token , token_type )
298+ token .value , distance = self .convert_proximity_operators (
299+ token .value , token .type
300+ )
295301
296302 # Create new proximity_operator from token (N3, W1, N13, ...)
297303 proximity_node = self .create_query_node (
298- token , True , position , search_field , distance
304+ token . value , True , token . position , search_field , distance
299305 )
300306
301307 # Set proximity_operator as tree node
302308 root , current_operator = self .append_operator (root , proximity_node )
303309
304- elif token_type == TokenTypes .LOGIC_OPERATOR :
310+ elif token . type == TokenTypes .LOGIC_OPERATOR :
305311 # Create new operator node
306312 new_operator_node = self .create_query_node (
307- token , True , position , search_field , None
313+ token . value , True , token . position , search_field , None
308314 )
309315
310316 if not current_operator :
@@ -313,7 +319,7 @@ def parse_query_tree(
313319 root , new_operator_node
314320 )
315321
316- elif token_type == TokenTypes .PARENTHESIS_OPEN :
322+ elif token . type == TokenTypes .PARENTHESIS_OPEN :
317323 # Recursively parse the group inside parentheses
318324 # Set search_field_par as search field regarding the whole subtree
319325 # If subtree is done, reset search_field_par
@@ -327,7 +333,7 @@ def parse_query_tree(
327333 root , current_operator , subtree
328334 )
329335
330- elif token_type == TokenTypes .PARENTHESIS_CLOSED :
336+ elif token . type == TokenTypes .PARENTHESIS_CLOSED :
331337 # Return subtree
332338 root = self .check_for_none (root )
333339 return root
0 commit comments