def RecordLSHFactory(pipeline, fields, filter_={}, field_weights = None): name = __LSHName__(fields, filter_) broker = Broker(pipeline) try: i = broker.download_obj(name) i.LSH = {} for key in i.fields: i.LSH[key] = broker.download_obj('{}_{}'.format(name,key)) assert isinstance(i, RecordLSH) return i except AssertionError: return RecordLSH(pipeline, fields, filter_=filter_, field_weights = field_weights)