From 4ab8af511664b5e4236cd4f019b2eb5fd51e5d12 Mon Sep 17 00:00:00 2001 From: Dmitriy Yakovlev Date: Fri, 19 Apr 2019 12:36:10 +0300 Subject: [PATCH] DATAES-566 - Eliminate double SearchHit source to string conversion in DefaultResultMapper. Original pull request: #275 --- .../data/elasticsearch/core/DefaultResultMapper.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/springframework/data/elasticsearch/core/DefaultResultMapper.java b/src/main/java/org/springframework/data/elasticsearch/core/DefaultResultMapper.java index 86c3141c1..ba42b3fab 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/DefaultResultMapper.java +++ b/src/main/java/org/springframework/data/elasticsearch/core/DefaultResultMapper.java @@ -61,6 +61,7 @@ import com.fasterxml.jackson.core.JsonGenerator; * @author Ilkang Na * @author Sascha Woo * @author Christoph Strobl + * @author Dmitriy Yakovlev */ public class DefaultResultMapper extends AbstractResultMapper { @@ -105,8 +106,9 @@ public class DefaultResultMapper extends AbstractResultMapper { for (SearchHit hit : response.getHits()) { if (hit != null) { T result = null; - if (!StringUtils.isEmpty(hit.getSourceAsString())) { - result = mapEntity(hit.getSourceAsString(), clazz); + String hitSourceAsString = hit.getSourceAsString(); + if (!StringUtils.isEmpty(hitSourceAsString)) { + result = mapEntity(hitSourceAsString, clazz); } else { result = mapEntity(hit.getFields().values(), clazz); }