# How to use api get mutil parent/child inner\_hits

**URL:** <https://discuss.elastic.co/t/how-to-use-api-get-mutil-parent-child-inner-hits/156266>\
**Category:** Elasticsearch\
**Created:** [November 12, 2018, 9:52am UTC](https://discuss.elastic.co/t/how-to-use-api-get-mutil-parent-child-inner-hits/156266 "2018-11-12T09:52:18Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![MichaelHo](https://avatars.discourse-cdn.com/v4/letter/m/4bbf92/32.png) [@MichaelHo](https://discuss.elastic.co/u/MichaelHo)\
**Post date:** [November 12, 2018, 9:52am UTC](https://discuss.elastic.co/t/how-to-use-api-get-mutil-parent-child-inner-hits/156266/1 "2018-11-12T09:52:18Z")

</div>

i'm using the version 6.3.2.  
use the client  
  
org.elasticsearch  
elasticsearch  
6.3.2

how to use api get mutil parent/child inner\_hits?

//code the api below is get dept and their users

```
@RequestMapping("/queryDetails")
public void queryDetails() {
	QueryBuilder qb = JoinQueryBuilders.hasChildQuery("user", // child relation
			QueryBuilders.matchQuery("uname.keyword", "lucy"), ScoreMode.None).innerHit(new InnerHitBuilder());
	SearchQuery searchQuery = new NativeSearchQueryBuilder().withIndices("user_test").withQuery(qb).build();
	
	
	List<DeptVO> depts = elasticsearchTemplate.query(searchQuery, searchResponse -> {
		SearchHits hits = searchResponse.getHits();
		List<DeptVO> list = new ArrayList<>();
		Arrays.stream(hits.getHits()).forEach(h -> {
			Map<String, Object> source = h.getSourceAsMap();
			SearchHits innerHitsMap = h.getInnerHits().get("user");// get child

			List<User> user1s = Arrays.stream(innerHitsMap.getHits()).map(innerH -> {
				Map<String, Object> innerSource = innerH.getSourceAsMap();
				return new User(innerSource.get("uname").toString(),
						Integer.valueOf(innerSource.get("age").toString()));
			}).collect(Collectors.toList());
			list.add(new DeptVO(source.get("dname").toString(), user1s));
		});
		return list;
	});
}

```

if i have child in "user", like address, how to get it?

---

<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:** [December 10, 2018, 9:52am UTC](https://discuss.elastic.co/t/how-to-use-api-get-mutil-parent-child-inner-hits/156266/2 "2018-12-10T09:52:19Z")

</div>

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