mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-24 10:23:17 +00:00
@@ -16,6 +16,7 @@ use Alchemy\Phrasea\Core\Event\Collection\CollectionEvents;
|
|||||||
use Alchemy\Phrasea\Core\Event\Record\RecordDeletedEvent;
|
use Alchemy\Phrasea\Core\Event\Record\RecordDeletedEvent;
|
||||||
use Alchemy\Phrasea\Core\Event\Record\RecordEvent;
|
use Alchemy\Phrasea\Core\Event\Record\RecordEvent;
|
||||||
use Alchemy\Phrasea\Core\Event\Record\RecordEvents;
|
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\RecordStructureEvent;
|
||||||
use Alchemy\Phrasea\Core\Event\Record\Structure\RecordStructureEvents;
|
use Alchemy\Phrasea\Core\Event\Record\Structure\RecordStructureEvents;
|
||||||
use Alchemy\Phrasea\SearchEngine\Elastic\Indexer\RecordQueuer;
|
use Alchemy\Phrasea\SearchEngine\Elastic\Indexer\RecordQueuer;
|
||||||
@@ -67,6 +68,9 @@ class IndexerSubscriber implements EventSubscriberInterface
|
|||||||
|
|
||||||
public function onRecordChange(RecordEvent $event)
|
public function onRecordChange(RecordEvent $event)
|
||||||
{
|
{
|
||||||
|
if ($event instanceof RecordSubDefinitionCreatedEvent && $event->getSubDefinitionName() !== 'thumbnail') {
|
||||||
|
return;
|
||||||
|
}
|
||||||
$record = $event->getRecord();
|
$record = $event->getRecord();
|
||||||
$this->indexer->indexRecord($record);
|
$this->indexer->indexRecord($record);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -75,6 +75,7 @@ class SubdefsJob extends AbstractJob
|
|||||||
$rs = $stmt->fetchAll(\PDO::FETCH_ASSOC);
|
$rs = $stmt->fetchAll(\PDO::FETCH_ASSOC);
|
||||||
$stmt->closeCursor();
|
$stmt->closeCursor();
|
||||||
|
|
||||||
|
$i = 0;
|
||||||
foreach ($rs as $row) {
|
foreach ($rs as $row) {
|
||||||
if (!$this->isStarted()) {
|
if (!$this->isStarted()) {
|
||||||
break;
|
break;
|
||||||
@@ -106,7 +107,14 @@ class SubdefsJob extends AbstractJob
|
|||||||
$stmt->closeCursor();
|
$stmt->closeCursor();
|
||||||
|
|
||||||
unset($record);
|
unset($record);
|
||||||
|
$i++;
|
||||||
|
|
||||||
|
if ($i % 5 === 0) {
|
||||||
|
$app['elasticsearch.indexer']->flushQueue();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$app['elasticsearch.indexer']->flushQueue();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,7 +29,6 @@ use Doctrine\ORM\EntityManager;
|
|||||||
use Doctrine\Common\Collections\ArrayCollection;
|
use Doctrine\Common\Collections\ArrayCollection;
|
||||||
use MediaVorus\MediaVorus;
|
use MediaVorus\MediaVorus;
|
||||||
use Rhumsaa\Uuid\Uuid;
|
use Rhumsaa\Uuid\Uuid;
|
||||||
use Alchemy\Phrasea\Status\StatusStructure;
|
|
||||||
use Alchemy\Phrasea\Model\RecordInterface;
|
use Alchemy\Phrasea\Model\RecordInterface;
|
||||||
use Symfony\Component\HttpFoundation\File\File as SymfoFile;
|
use Symfony\Component\HttpFoundation\File\File as SymfoFile;
|
||||||
use Alchemy\Phrasea\Core\PhraseaTokens;
|
use Alchemy\Phrasea\Core\PhraseaTokens;
|
||||||
|
|||||||
@@ -498,15 +498,27 @@ function initAnswerForm() {
|
|||||||
"folder": true,
|
"folder": true,
|
||||||
"children" : []
|
"children" : []
|
||||||
};
|
};
|
||||||
_.each(field_aggs, function (agg) {
|
|
||||||
_.each(agg.buckets, function(bucket) {
|
if(field_aggs.hasOwnProperty('buckets')){
|
||||||
|
_.each(field_aggs.buckets, function(bucket) {
|
||||||
entry.children.push({
|
entry.children.push({
|
||||||
"title": bucket.key + ' ('+ bucket.doc_count + ')',
|
"title": bucket.key + ' ('+ bucket.doc_count + ')',
|
||||||
"key": bucket.key,
|
"key": bucket.key,
|
||||||
"query": '"'+ bucket.key + '" IN ' + key
|
"query": '"'+ bucket.key + '" IN ' + key
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
} else {
|
||||||
|
_.each(field_aggs, function (agg) {
|
||||||
|
_.each(agg.buckets, function(bucket) {
|
||||||
|
entry.children.push({
|
||||||
|
"title": bucket.key + ' ('+ bucket.doc_count + ')',
|
||||||
|
"key": bucket.key,
|
||||||
|
"query": '"'+ bucket.key + '" IN ' + key
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
treeData.push(entry);
|
treeData.push(entry);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user