I know how to delete an entire ElasticSearch index, but how do you purge all documents from an index?
My Motivation: I'd like to have a "ReIndex" method that purges the entire contents of an index so that I can reload all documents.
ElasticSearch syntax would be helful. NEST syntax would be even better.
2. Delete all documents from the index. We can delete all the documents from the index using _delete_by_query.
Deleting an index deletes its documents, shards, and metadata. It does not delete related Kibana components, such as data views, visualizations, or dashboards.
I was looking for something similar in Nest and I thought I'd put the syntax here for anyone looking:
var node = new Uri("http://localhost:9200");
var settings = new ConnectionSettings(node);
var client = new ElasticClient(settings);
client.DeleteByQuery<ElasticsearchProject>(del => del
.Query(q => q.QueryString(qs=>qs.Query("*")))
);
You can use a delete by query. This will delete all documents that match * i.e. everything.
curl -XDELETE localhost:9200/<indexname>/_query?q=*
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/docs-delete-by-query.html
Don't forget to optimize afterwards.
curl localhost:9200/<indexname>/_optimize
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With