code: def exclude_range(self, field, start="*", stop="*", inclusive=True, new_group=False):
          
          # Accept None as *
          if start is None:
              start = "*"
          if stop is None:
              stop = "*"
          # *-* is the same as field doesn't exist
          if start == "*" and stop == "*":
              return self.match_not_exists(field, new_group=new_group)
  
          if inclusive:
              value = "[" + str(start) + " TO " + str(stop) + "]"
          else:
              value = "{" + str(start) + " TO " + str(stop) + "}"
          return self.exclude_field(field, value, new_group=new_group)
docs: Exclude a ``field:[some range]`` term from the query.
          Matches will not have any ``value`` in the range in the ``field``.
  
          Arguments:
              field (str): The field to check for the value.
                      The field must be namespaced according to Elasticsearch rules
                      using the dot syntax.
                      For example, ``"mdf.source_name"`` is the ``source_name`` field
                      of the ``mdf`` dictionary.
              start (str or int): The starting value, or ``None`` for no lower bound.
                      **Default:** ``None``.
              stop (str or int): The ending value, or ``None`` for no upper bound.
                      **Default:** ``None``.
              inclusive (bool): If ``True``, the ``start`` and ``stop`` values will be excluded
                      from the search.
                      If ``False``, the ``start`` and ``stop`` values will not be excluded
                      from the search.
                      **Default:** ``True``.
              new_group (bool): If ``True``, will separate the term into a new parenthetical group.
                      If ``False``, will not.
                      **Default:** ``False``.
  
          Returns:
              SearchHelper: Self