/** * @param Entity|IIndexable $entity */ public function indexEntity(Entity $entity) { $data = $entity->getIndexData(); if ($data !== FALSE) { $this->es->addToIndex($entity->getShortEntityName(), (int) $entity->id, $data); } }
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); } }); }