Unable to get gte and lte from elastic Java API in range query

Sample record
POST  http://localhost:9205/iptoproxy/1
```

{
"ipToLong": 28147177550,
"ipFromLong": 28147177543,
"ipTo": "0:0:0:0:0:ffff:4131:6d83",
"ipFrom": "0:0:0:0:0:ffff:4131:6d83",
"proxyType": "DCH",
"countryCode": "JP",
"countryName": "Japan",
"region": "Tokyo",
"city": "Tokyo",
"isp": "Hurricane Electric LLC",
"domain": "he.net",
"proxyCatagory": "DCH",
"catagoryDesc": "Data Center/Web Hosting/Transit",
"ipType": null,
"ipToProxyIndex": "iptoproxy"
}
```

POST http://localhost:9205/iptoproxy/_search
```
{
  "size": 10,
  "query": {
    "bool": {
      "must": [
        {
          "range": {
            "ipFromLong": {
              "from": 2888966725,
              "to": null,
              "include_lower": true,
              "include_upper": false,
              "boost": 1
            }
          }
        },
        {
          "range": {
            "ipToLong": {
              "from": null,
              "to": 2888966725,
              "include_lower": true,
              "include_upper": true,
              "boost": 1
            }
          }
        }
      ],
      "adjust_pure_negative": true,
      "boost": 1
    }
  }
}
```
My Use case is to get a record of my long value is greater than or equal to ipFromLong and less than or equal to prolong. If I create a query using Java API I get from and to instead of gte and lte which doesn't work as expected even If try using gte and lte together still it didn't work but If I try Get and let in two different queries they works without any issue. my first concern is why I don't get LTE and GTE even if I use there methods from range queries like gte(ipLong) and lte(iplong) .second why I can't use them in two caluses in same query .