我知道如何delete an entire ElasticSearch index,但如何从索引中清除所有文档?
我的动机:我想有一个“ReIndex”方法,清除索引的整个内容,这样我就可以重新加载所有文档。
ElasticSearch语法会很有用。NEST语法会更好。
我知道如何delete an entire ElasticSearch index,但如何从索引中清除所有文档?
我的动机:我想有一个“ReIndex”方法,清除索引的整个内容,这样我就可以重新加载所有文档。
ElasticSearch语法会很有用。NEST语法会更好。
5条答案
按热度按时间hlswsv351#
我在Nest中寻找类似的东西,我想我会把语法放在这里,供任何人寻找:
ssm49v7z2#
您可以使用按查询删除。这将删除所有匹配 * 的文档,即一切
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/docs-delete-by-query.html
不要忘了事后优化。
tvmytwxo3#
$ curl -XPOST localhost:9200/myindex/_optimize
....优化过程将通过按查询删除来清除您所做的所有软删除。
我们也面临着一个类似的问题,我们删除了大量的文档。实际上,我们将大量的文档从一个索引移动到另一个索引,因为我们已经按日期对数据进行了分片。但是ES不支持将数据从一个索引移动到另一个索引。
但优化是一个昂贵的操作,因为它消耗了大量的IO寻道。如果你只是想做清除只是为了删除我想,那么你可以利用“只_expunge_deletes”标志合并段删除只。
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-optimize.html
aamkag614#
amrnrhlw5#
使用ES v7.0.9删除索引名称。使用.AllIndices()或.Index(“_all”)代替.Index(“IndexName”)删除所有索引