def register(model_or_iterable, search_document=None, connect_signals=True): if isinstance(model_or_iterable, ModelBase): model_or_iterable = [model_or_iterable] for model in model_or_iterable: #Register the model if model in registry: raise AlreadyRegistered('%s has already been registered by search' % model) if not search_document: #Default Search Document if no document is specified. search_document = SearchDocument key = get_model_key(model) registry[key] = search_document if connect_signals: #Hook Up The Signals indexer = get_default_indexer() db_signals.post_save.connect(indexer.post_save, model) db_signals.post_delete.connect(indexer.post_delete, model)
def reindex(batch_size=None): from solango.indexing import get_default_indexer get_default_indexer().index_all(batch_size=batch_size)