I'm trying to convert this multiple GET operation of elasticsearch into the Java/Kotlin code equivalent
curl "localhost:9200/index1, index2/_search?pretty=true" -d '{
"query" : {
"bool" : {
"must" : [
{
"indices" : {
"indices" : ["index1"],
"query" : {
SOMETHING1
}
}
},
{
"indices" : {
"indices" : ["index2"],
"query" : {
SOMETHING2
}
}
}
]
}
}
}'
My solution is
val searchRequest = SearchRequest("index1", "index2")
val searchSourceBuilder = SearchSourceBuilder()
val qb: BoolQueryBuilder = QueryBuilders.boolQuery()
val qbFirst: BoolQueryBuilder = QueryBuilders.boolQuery()
qbFirst.must().add(SOMETHING1)
val qbSecond: BoolQueryBuilder = QueryBuilders.boolQuery()
qbSecond.must().add(SOMETHING2)
qb.must().add(qbFirst)
qb.must().add(qbSecond)
searchSourceBuilder.query(qb)
searchRequest.source(searchSourceBuilder)
It's not so important the SOMETHING1 and SOMETHING2 code block.
The problem of my solution is that I can't be able to specify for qbFirst to consider ONLY index1 for the research. Unfortunately it uses both index1 and index2 (and the same for qbSecond)
Any Ideas?