Ich weiß, wie man einen ganzen ElasticSearch-Index löscht , aber wie löscht man alle Dokumente aus einem Index?
Meine Motivation: Ich hätte gerne eine "ReIndex" -Methode, die den gesamten Inhalt eines Index löscht, so dass ich alle Dokumente neu laden kann.
Die ElasticSearch-Syntax wäre hilfreich. NEST-Syntax wäre noch besser.
$ curl -XPOST localhost:9200/myindex/_optimize
....
Der Optimierungsprozess bereinigt alle von Ihnen erstellten Softdelete durch Löschen nach Abfrage.
Wir sehen uns auch einem ähnlichen Problem gegenüber, bei dem wir viele Dokumente löschen. Tatsächlich verschieben wir viele Dokumente von einem Index zum anderen, da wir die Daten nach Datum sortiert haben. Aber da ES das Verschieben von Daten von einem Index zu einem anderen nicht unterstützt,
Aber die Optimierung ist eine kostspielige Operation, da sie viele E / A-Suchen verbraucht. Wenn Sie nur für Löschvorgänge löschen möchten, dann denke ich, können Sie das Flag "only_expunge_deletes" verwenden, um Segmente nur mit Löschvorgängen zusammenzuführen.
Tags und Links c# elasticsearch nest