Fix subdef path indexing

This commit is contained in:
Nicolas Le Goff
2015-03-12 20:10:13 +01:00
parent b393bbee3d
commit 973d7f68a2
3 changed files with 12 additions and 1 deletions

View File

@@ -16,6 +16,7 @@ use Alchemy\Phrasea\Core\Event\Collection\CollectionEvents;
use Alchemy\Phrasea\Core\Event\Record\RecordDeletedEvent;
use Alchemy\Phrasea\Core\Event\Record\RecordEvent;
use Alchemy\Phrasea\Core\Event\Record\RecordEvents;
use Alchemy\Phrasea\Core\Event\Record\RecordSubDefinitionCreatedEvent;
use Alchemy\Phrasea\Core\Event\Record\Structure\RecordStructureEvent;
use Alchemy\Phrasea\Core\Event\Record\Structure\RecordStructureEvents;
use Alchemy\Phrasea\SearchEngine\Elastic\Indexer\RecordQueuer;
@@ -67,6 +68,9 @@ class IndexerSubscriber implements EventSubscriberInterface
public function onRecordChange(RecordEvent $event)
{
if ($event instanceof RecordSubDefinitionCreatedEvent && $event->getSubDefinitionName() !== 'thumbnail') {
return;
}
$record = $event->getRecord();
$this->indexer->indexRecord($record);
}

View File

@@ -75,6 +75,7 @@ class SubdefsJob extends AbstractJob
$rs = $stmt->fetchAll(\PDO::FETCH_ASSOC);
$stmt->closeCursor();
$i = 0;
foreach ($rs as $row) {
if (!$this->isStarted()) {
break;
@@ -106,7 +107,14 @@ class SubdefsJob extends AbstractJob
$stmt->closeCursor();
unset($record);
$i++;
if ($i % 5 === 0) {
$app['elasticsearch.indexer']->flushQueue();
}
}
}
$app['elasticsearch.indexer']->flushQueue();
}
}

View File

@@ -29,7 +29,6 @@ use Doctrine\ORM\EntityManager;
use Doctrine\Common\Collections\ArrayCollection;
use MediaVorus\MediaVorus;
use Rhumsaa\Uuid\Uuid;
use Alchemy\Phrasea\Status\StatusStructure;
use Alchemy\Phrasea\Model\RecordInterface;
use Symfony\Component\HttpFoundation\File\File as SymfoFile;
use Alchemy\Phrasea\Core\PhraseaTokens;