# ElasticSearch SearchHit field to 5.3 from 2.3

**URL:** <https://discuss.elastic.co/t/elasticsearch-searchhit-field-to-5-3-from-2-3/83642>\
**Category:** Elasticsearch\
**Created:** [April 26, 2017, 3:35am UTC](https://discuss.elastic.co/t/elasticsearch-searchhit-field-to-5-3-from-2-3/83642 "2017-04-26T03:35:56Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![king3094](https://avatars.discourse-cdn.com/v4/letter/k/e68b1a/32.png) [@king3094](https://discuss.elastic.co/u/king3094)\
**Post date:** [April 26, 2017, 3:35am UTC](https://discuss.elastic.co/t/elasticsearch-searchhit-field-to-5-3-from-2-3/83642/1 "2017-04-26T03:35:56Z")

</div>

I have been using this code for ES 2.3 and it worked fine. I'm query against data already loaded in Elastic search. I'm Unable to do this in ES 5.3. I'm just trying to get values for certain fields from 300 fields loaded into ES. Instead of JSON I want result into "|" delimited. Is there a way to do similar with ES 5.3 ?

```
for( SearchHit hit : response.getHits())
{
 String s0 = hit.field("first_name").getValue().toString();
 result.add(s0);
 String s1 = hit.field("last_name").getValue().toString();
 result.add(s1);
 String s2 ="";
 if(hit.fields().containsKey("middle_name"))
{
 String s2 = hit.field("middle_name").getValue().toString();
 result.add(s2);
}

finalresult = s0 + "|" + s1 + "|" + s2;
}
```

---

<div class="post-metadata">

**Author:** ![xavierfacq](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/xavierfacq/32/8744_2.png) [@xavierfacq](https://discuss.elastic.co/u/xavierfacq)\
**Post date:** [April 26, 2017, 7:34am UTC](https://discuss.elastic.co/t/elasticsearch-searchhit-field-to-5-3-from-2-3/83642/2 "2017-04-26T07:34:30Z")

</div>

Hi, Are you reading a 2.3 cluster with a 5.3 java code ? If yes, that's not possible. Else can you provide log or stacktrace ?

bye,  
Xavier

---

<div class="post-metadata">

**Author:** ![king3094](https://avatars.discourse-cdn.com/v4/letter/k/e68b1a/32.png) [@king3094](https://discuss.elastic.co/u/king3094)\
**Post date:** [May 1, 2017, 2:27pm UTC](https://discuss.elastic.co/t/elasticsearch-searchhit-field-to-5-3-from-2-3/83642/3 "2017-05-01T14:27:36Z")

</div>

```
for( SearchHit hit : response.getHits())
{
Map<String,Object> map = hit.getSource();
 String s0 = map.get("first_name")map.get
 result.add(s0);
 String s1 = map.get("last_name").toString();
 result.add(s1);
 String s2 ="";
 if(map.containsValue("middle_name"))
{
 String s2 = map.get("middle_name").toString();
 result.add(s2);
}

finalresult = s0 + "|" + s1 + "|" + s2;
}

```

This worked for me fine. Thanks

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [May 29, 2017, 2:32pm UTC](https://discuss.elastic.co/t/elasticsearch-searchhit-field-to-5-3-from-2-3/83642/4 "2017-05-29T14:32:36Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
