Creates a search for the inputed records by joining the search terms
        and query from the inputed search string by using the 
        Orb.Query.fromSearch method.
        
        :param      search  | <str>
                    refined | <orb.Query> || None
        
        :return     <bool> | success

def searchRecords(self, search):
        """
        Creates a search for the inputed records by joining the search terms
        and query from the inputed search string by using the 
        Orb.Query.fromSearch method.
        
        :param      search  | <str>
                    refined | <orb.Query> || None
        
        :return     <bool> | success
        """
        
        # take the base record set
        self._currentRecordSet  = None
        self._searchTerms       = nativestring(search)
        
        # if we don't have a search, then go back to the default records
        if not search:
            if not self.signalsBlocked():
                if self._recordSet is not None:
                    self._recordSet.clear()
                
                self._searched = False
                self.refresh()
                self.recordsChanged.emit()
                return False
            return False
        
        self._searched=True
        
        # start from our default record set
        rset = self.searchableRecords()
        self._currentRecordSet = rset.search(search)
        
        # update widget and notify any listeners
        if not self.signalsBlocked():
            self.refresh()
            self.recordsChanged.emit()
        
        return True