def search(self, query, page, **kwargs):
        tokens = query.lower().split(' ')
        
        results = []
        laboratories = self.get_laboratories()
        for lab in laboratories:
            total_lab = '%s %s %s' % (lab.name, lab.laboratory_id, lab.description or '')
            total_lab = total_lab.lower()
            valid = True
            for token in tokens:
                if token not in total_lab:
                    valid = False
                    break
            if valid:
                results.append(lab)

        return {
                'total_results' : len(results),
                'pages' : 1,
                'laboratories' : results
            }
**SUMMARY**
dataset/ETHPy150Open gateway4labs/labmanager/labmanager/rlms/base.py/BaseRLMS.search--crossover with--dataset/ETHPy150Open sightmachine/SimpleCV/SimpleCV/Tracking/TrackSet.py/TrackSet.correctX