4

I recently started to migrate from Elasticsearch version 2.4 to version 5.4. In version 2.4 I implemented some nested queries including inner hits, using the official Java API, which do not work in version 5.4 anymore.

Can anyone tell me, how to get the inner hits of a nested query using the Elasticsearch Java API 5.4? Unfortunately, I can't find any sources regarding this topic, not even in the Elasticsearch documentation.

My functioning nested query in version 2.4:

QueryBuilders.nestedQuery("classes.links",
    QueryBuilders.boolQuery()
        .must(QueryBuilders.termQuery("classes.links.name", "xyz"))
).innerHit(new QueryInnerHitBuilder())

My attempt to get this query to work in version 5.4:

QueryBuilders.nestedQuery("classes.links",
    QueryBuilders.boolQuery()
        .must(QueryBuilders.termQuery("classes.links.name", "xyz")), 
    ScoreMode.Avg
).innerHit(new InnerHitBuilder()) //Error here

As suggested here Elastic Search - java api for inner hit, I tried to replace QueryInnerHitBuilder() with InnerHitBuilder(), but it still does not work. I am getting following error:

"Cannot resolve method 'innerHit(org.elasticsearch.index.query.InnerHitBuilder)'"

The_Dude
  • 397
  • 1
  • 3
  • 16

1 Answers1

0

The below implementation worked for me .

innerHit(new InnerHitBuilder())

Arun
  • 11
  • 2