From 88035173c53c1b02cfc6068199542b9465d55956 Mon Sep 17 00:00:00 2001 From: jygaulier Date: Mon, 2 Jul 2018 18:41:40 +0200 Subject: [PATCH] PHRAS-2126_Array-to-String-err-idx_4.1 (#2656) fix : es error message during indexation is now dumped (not always a string) fix : es file "size" is now type "long" --- .../SearchEngine/Elastic/Indexer/BulkOperation.php | 3 +-- .../Phrasea/SearchEngine/Elastic/Indexer/RecordIndex.php | 2 +- .../Phrasea/SearchEngine/Elastic/MappingBuilder.php | 9 +++++++++ 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/Alchemy/Phrasea/SearchEngine/Elastic/Indexer/BulkOperation.php b/lib/Alchemy/Phrasea/SearchEngine/Elastic/Indexer/BulkOperation.php index a44a64d594..6ea641492d 100644 --- a/lib/Alchemy/Phrasea/SearchEngine/Elastic/Indexer/BulkOperation.php +++ b/lib/Alchemy/Phrasea/SearchEngine/Elastic/Indexer/BulkOperation.php @@ -157,8 +157,7 @@ class BulkOperation foreach ($response['items'] as $key => $item) { foreach($item as $command=>$result) { // command may be "index" or "delete" if($response['errors'] && $result['status'] >= 400) { // 4xx or 5xx error - $err = array_key_exists('error', $result) ? $result['error'] : ($command . " error " . $result['status']); - throw new Exception(sprintf('%d: %s', $key, $err)); + throw new Exception(sprintf('%d: %s', $key, var_export($result, true))); } } diff --git a/lib/Alchemy/Phrasea/SearchEngine/Elastic/Indexer/RecordIndex.php b/lib/Alchemy/Phrasea/SearchEngine/Elastic/Indexer/RecordIndex.php index f81a8370fa..9c86c1dc11 100644 --- a/lib/Alchemy/Phrasea/SearchEngine/Elastic/Indexer/RecordIndex.php +++ b/lib/Alchemy/Phrasea/SearchEngine/Elastic/Indexer/RecordIndex.php @@ -71,7 +71,7 @@ class RecordIndex implements MappingProvider $mapping->addIntegerField('width')->disableIndexing(); $mapping->addIntegerField('height')->disableIndexing(); - $mapping->addIntegerField('size')->disableIndexing(); + $mapping->addLongField('size')->disableIndexing(); $mapping->addGeoPointField('location'); diff --git a/lib/Alchemy/Phrasea/SearchEngine/Elastic/MappingBuilder.php b/lib/Alchemy/Phrasea/SearchEngine/Elastic/MappingBuilder.php index 1d7a562e17..3898b32b94 100644 --- a/lib/Alchemy/Phrasea/SearchEngine/Elastic/MappingBuilder.php +++ b/lib/Alchemy/Phrasea/SearchEngine/Elastic/MappingBuilder.php @@ -45,6 +45,15 @@ class MappingBuilder return $this->mapping->addField(new FieldMapping($name, FieldMapping::TYPE_INTEGER)); } + /** + * @param string $name + * @return FieldMapping + */ + public function addLongField($name) + { + return $this->mapping->addField(new FieldMapping($name, FieldMapping::TYPE_LONG)); + } + /** * @param string $name * @return FieldMapping