:desc: Given a search term returns a list of results that match
                   that term:

                   [{u'score': 5.5,
                     u'obj': {u'note': u'note8',
                              u'ID': 3.0,
                              u'timestamps': [1381719620.315899]}}]
            :param str searchInfo: The search term
            :returns: A list of matching notes
            :rval: list

def searchForItem(self, searchInfo, resultLimit=20, sortBy="relevance"):
        """
            :desc: Given a search term returns a list of results that match
                   that term:

                   [{u'score': 5.5,
                     u'obj': {u'note': u'note8',
                              u'ID': 3.0,
                              u'timestamps': [1381719620.315899]}}]
            :param str searchInfo: The search term
            :returns: A list of matching notes
            :rval: list
        """

        searchResults = []

        colls = self.get_data_collections()

        proj = {"_id": 0}
        for coll in colls:
            res = self.noteDB.command("text",
                                      coll,
                                      search=searchInfo,
                                      project=proj,
                                      limit=resultLimit)['results']
            for ii in res:
                ii['type'] = coll
            searchResults.extend(res)

        if sortBy.lower() == "date":
            k = (lambda x: max(x['obj']['timestamps']))
            searchResults = sorted(searchResults, key=k)
        elif sortBy.lower() == "id":
            k = (lambda x: x['obj']['ID'])
            searchResults = sorted(searchResults, key=k)

        return searchResults