elasticsearch query nested array of objects

{
  "query": {
    "query_string": {
      "default_field": "TranList.TranId",
      "query": "2431015"
    }
  }
}

Not sure what was your ES version, but the following should ideally work for ES 6.x+ versions. You don't actually need to wrap your nested query with bool:must

{
    "query": {
        "nested" : {
            "path" : "TranList",
            "query" : {
                "bool" : {
                    "must" : [
                        { "match" : {"TranList.TranId" : "2431015"} }
                    ]    
                }
            }
        }
    }
}


ok, so after lots of attempts this is how i got it to work

{
  "query": {
    "bool": {
      "must": [{
        "nested": {
          "path": "TranList",
          "query": {
            "bool": {
              "must": [{
                "match": {
                  "TranList.TranId": "2431015"
                }
              }]
            }
          }
        }
      }]
    }
  }
}