As the title says, I'm trying to delete all the parentless child documents using ES Java API. If I got things correctly, I need to use DeleteByQuery, and my proposed solution is this:
val allParentlessChildren = QueryBuilders .boolQuery() .mustNot(JoinQueryBuilders.hasParentQuery( "my_parent", QueryBuilders.matchAllQuery(), false) ) val delete = new DeleteByQuery.Builder(allParentlessChildren.toString) .addIndex("my_index") .addType("my_child") .build()
However, I get
routing_missing_exception. Investigating online, it seems I need to set parent type for routing, however, apart from specifying it in
hasParentQuery idk where else I need to add it?
Although I found some examples how to do it with REST API, I wasn't able to find ones that use Java API, so hopefully someone can help out.
I'm using Elasticsearch 5.5.
I've posted it on Stackoverflow as well.