def on_bulk_delete(model_cls, objects, request): if not getattr(model_cls, '_index_enabled', False): return pk_field = model_cls.pk_field() ids = [getattr(obj, pk_field) for obj in objects] from nefertari.elasticsearch import ES es = ES(source=model_cls.__name__) es.delete(ids, request=request) # Reindex relationships es.bulk_index_relations(objects, request=request)
def on_bulk_update(model_cls, objects, request): if not getattr(model_cls, '_index_enabled', False): return if not objects: return from nefertari.elasticsearch import ES es = ES(source=model_cls.__name__) documents = to_dicts(objects) es.index(documents, request=request) # Reindex relationships es.bulk_index_relations(objects, request=request, nested_only=True)
def on_bulk_update(update_context): model_cls = update_context.mapper.entity if not getattr(model_cls, '_index_enabled', False): return objects = update_context.query.all() if not objects: return from nefertari.elasticsearch import ES es = ES(source=model_cls.__name__) es.index(objects) # Reindex relationships es.bulk_index_relations(objects, nested_only=True)
def on_bulk_update(update_context): request = getattr( update_context.query, '_request', None) model_cls = update_context.mapper.entity if not getattr(model_cls, '_index_enabled', False): return objects = update_context.query.all() if not objects: return from nefertari.elasticsearch import ES es = ES(source=model_cls.__name__) es.index(objects, request=request) # Reindex relationships es.bulk_index_relations(objects, request=request, nested_only=True)