Doubt regarding deleting the datas in index in elasticsearch

Hi all, i have another doubt regarding delete of the datas. I can delete the index, which is fine, but what i really want is to delete all the datas or some specific datas inside one index with some query or if some other method is there.
If i can delete all the datas without deleting the index. What i found till now is that it is possible and found the commands for that also, not one of them worked. Can u please help me with this. thank you.

The delete-by-query plugin will delete data that matches some query. It is much less efficient than just deleting a whole index. That is why we suggest naming indexes after time frames if you have retention policies that require deleting data after a certain amount of time.

Can't i do something like deleting all the datas by using "match_all()" query and then again inserting datas in that index. Why do i need to delete the index and create the same index again, if my requirement is like this. So if you know something about this please reply me back. The thing is that till now i am not able to delete by query. So can you give me an example of running curl command which will definitely work.