ElasticSearch与NEST:如何清除索引中的所有文档?我知道如何删除整个ElasticSearch索引,但如何从索引中清除所有文档?我的动机:我想要一个“ReIndex”方法来清除索引的全部内容,以便我可以重新加载所有文档。ElasticSearch语法很有用。NEST语法会更好。我在Nest中寻找类似的东西,并认为我会把语法放在任何人的眼中:varnode=newUri("http://localhost:9200");varsettings=newConnectionSettings(节点);varclient=newElasticClient(设置);client.DeleteByQuery(del=>del.Query(q=>q.QueryString(qs=>qs.Query("*"))));您可以使用按查询删除。这将删除所有匹配*的文档,即所有内容。curl-XDELETElocalhost:9200//_query?q=*http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/docs-delete-by-query.html不要忘记优化之后事实。curllocalhost:9200//_optimize$curl-XPOSTlocalhost:9200/myindex/_optimize....优化过程将通过查询删除来清除您所做的任何软删除。我们还面临一个类比问题,我们删除了很多文档。我们实际上将大量文档从一个索引移动到另一个索引,因为我们按日期对数据进行了分片。但是由于ES不支持将数据从一个索引移动到另一个索引。但是优化是一项代价高昂的操作,因为它会消耗大量的IO寻道。如果您只想清除删除,我想您可以使用“only_expunge_deletes”标志来仅合并已删除的段。http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-optimize.html以上是C#学习教程:ElasticSearchandNEST:Howtoclearalldocumentsintheindex?所有分享的内容,如果对你有用,需要了解更多C#学习教程,希望大家多多关注——**删除所有记录-**client.DeleteByQuery(del=>del.Query(q=>q.QueryString(qs=>qs.Query("*"))));**删除索引-**client.DeleteIndex(d=>d.Index("index_name"));本文收集自网络,不代表任何内容,如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处:
