code: def _index_filter(index_data, filter_value, filter_operator, field_converter=None):
          
  
          filtered_data = []
          if filter_operator == operator.eq:
              if field_converter is not None:
                  filter_value = field_converter(filter_value)
              # for data_obj in index_data:
              #     yield data_obj.data
              filtered_data = index_data.get(filter_value)
  
          else:
              for field, data_obj_list in index_data.items():
                  if field_converter is not None:
                      field = field_converter(field)
  
                  if filter_operator(field, filter_value):  # bcs enum
                      filtered_data.extend(data_obj_list)
                      # for data_obj in data_obj_list:
                      #     yield data_obj.data
  
          return filtered_data
docs: Post Filter
  
          Args:
              index_data (dictionary): The indexed data for the provided field.
              field (string): The field to filter on.
              filter_value (string | list): The value to match.
              filter_operator (string): The operator for comparison.
              field_converter (method): A method used to convert the field before comparison.
  
          Returns:
              (list): Matching data objects