Example #1
0
 /**
  * {@inheritdoc}
  */
 public function createTemplates($indexToMetadatas)
 {
     $elasticaTemplate = new Template($this->client);
     try {
         foreach ($indexToMetadatas as $index => $metadatas) {
             $mappings = array();
             /** @var ClassMetadata $metadata */
             foreach ($metadatas as $metadata) {
                 $mappings[$metadata->type]['_id']['path'] = $metadata->getIdentifier();
                 if ($metadata->dynamic) {
                     $mappings[$metadata->type]['dynamic'] = $metadata->dynamic;
                 }
                 $mappings[$metadata->type]['properties'] = $this->getMapping($metadata->fieldMappings);
             }
             $response = $elasticaTemplate->createTemplate($metadata->index, $metadata->getIndexForRead(), $metadata->getSettings(), $mappings);
         }
     } catch (\Exception $e) {
         return false;
     }
     return 200 == $response->getStatus();
 }