def reindex_collection(collection, skip_errors=True, sync=False, flush=False): """Re-index all entities from the model, mappings and aggregator cache.""" from aleph.logic.mapping import map_to_aggregator from aleph.logic.profiles import profile_fragments aggregator = get_aggregator(collection) for mapping in collection.mappings: if mapping.disabled: log.debug("[%s] Skip mapping: %r", collection, mapping) continue try: map_to_aggregator(collection, mapping, aggregator) except Exception: # More or less ignore broken models. log.exception("Failed mapping: %r", mapping) aggregate_model(collection, aggregator) profile_fragments(collection, aggregator) if flush: log.debug("[%s] Flushing...", collection) index.delete_entities(collection.id, sync=True) index_aggregator(collection, aggregator, skip_errors=skip_errors, sync=sync) compute_collection(collection, force=True)
def reindex_collection(collection, sync=False, flush=False): """Re-index all entities from the model, mappings and aggregator cache.""" from aleph.logic.mapping import map_to_aggregator if flush: log.debug("[%s] Flushing...", collection) index.delete_entities(collection.id, sync=True) aggregator = get_aggregator(collection) for mapping in collection.mappings: try: map_to_aggregator(collection, mapping, aggregator) except Exception as ex: # More or less ignore broken models. log.warn("Failed mapping [%s]: %s", mapping.id, ex) aggregate_model(collection, aggregator) index_aggregator(collection, aggregator, sync=sync) compute_collection(collection, sync=True)