code: def filter_data(self, field, filter_value, filter_operator, field_converter=None):
          
          data = []
          if self._indexes.get(field) is not None:
              data = self._index_filter(
                  self._indexes.get(field), filter_value, filter_operator, field_converter
              )
          # else:
          #     data = self._loop_filter(field, filter_value, filter_operator)
  
          # if set_operator == "intersection":
          #     self._filtered_results.intersection(data)
          # elif set_operator == "union":
          #     self._filtered_results.union(data)
          return set(data)
docs: Filter the data given the provided.
  
          Args:
              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:
              (set): List of matching data objects