node.js – Date range using nodejs as backend with elastic search

I have the following query:

router.get('/date', (req, res)=>{
let query = {
    index: 'decisions',
    size: 5000,   
    from: 0,
    body:{
        query:{
            filtered:{
                filter:{
                    bool:{
                        must:[{
                            "range": {
                                "Date_Lecture": {
                                    "gt": "2019-04-04",
                                    "lt": "2019-04-06"
                                }
                            }
                        }]
                    }
                }
            }
        }
    },
}
if(req.query.decisions) query.q = `*${req.query.decisions}`
client.search(query)
.then(resp=>{
    return res.status(200).json({
        decisions: resp.hits
    })
    .catch(err=>{
        console.log(500).json({
            msg:'Error',
            err
        })
    })
})})

I want to get those records from elastic which are in this range of date, but it give me this error and say it did not know the filtered and if i remove filtered and then it says it did not know the filter and if i just use range then also it says it did not knows teh range keyword.

root_cause: [
      {
        type: 'parsing_exception',
        reason: 'unknown query [filtered]',
        line: 1,
        col: 22
      }
    ],

Read more here: Source link