code: def freeSearch(self, searchString):
          
  
          if not self._dataFrame.empty:
              # set question to the indexes of data and set everything to false.
              question = self._dataFrame.index == -9999
              for column in self._dataFrame.columns:
                  dfColumn = self._dataFrame[column]
                  dfColumn = dfColumn.apply(str)
  
                  question2 = dfColumn.str.contains(searchString,
                                                    flags=re.IGNORECASE,
                                                    regex=True, na=False)
                  question = np.logical_or(question, question2)
  
              return question
          else:
              return []
docs: Execute a free text search for all columns in the dataframe.
  
          Parameters
          ----------
              searchString (str): Any string which may be contained in a column.
  
          Returns
          -------
              list: A list containing all indexes with filtered data. Matches
                  will be `True`, the remaining items will be `False`. If the
                  dataFrame is empty, an empty list will be returned.