'Return the set of ids of all records that match the specified
query and restriction'

def __call__(self, dbcache, query, search_restriction, virtual_fields=None, book_ids=None):

    sqp = self.create_parser(dbcache, virtual_fields)
    try:
        return self._do_search(sqp, query, search_restriction, dbcache, book_ids=book_ids)
    finally:
        sqp.dbcache = sqp.lookup_saved_search = None
