public function registerEvents(Events $events) { $events->addCallbackListener($events::PERSIST_AFTER, function (EventArguments $args) { /** @var IIndexable|Entity $e */ $e = $args->entity; $data = $e->getIndexData(); if ($data === FALSE) { try { $this->elastic->removeFromIndex($this->getShortEntityName(), (int) $e->id); } catch (Missing404Exception $e) { // entity was yet not in index } } else { $this->elastic->addToIndex($this->getShortEntityName(), (int) $e->id, $data); } }); }