使用以下命令删除movie_indexer
索引后:
curl -XDELETE "http://localhost:9200/movie_indexer/"
是否会从elasticsearch中完全删除,或者是否有一些可用的痕迹。 如果它已被完全删除,那么为什么logstash不会读取已删除索引读取的相同日志文件?
答案 0 :(得分:1)
发现这些链接很有用:"删除文档不会立即从磁盘中删除文档;它只是将其标记为已删除。当您继续索引更多数据时,ES将在后台清理已删除的文档。"
https://www.elastic.co/guide/en/elasticsearch/guide/current/delete-doc.html
https://www.elastic.co/guide/en/elasticsearch/guide/current/retiring-data.html
答案 1 :(得分:0)
您发出的命令是针对elasticsearch的,因此删除就会发生。
至于你的第二个问题,请注意elasticsearch不会读取日志文件。其他一些进程(可能是logstash,logstash-forwarder,filebeat,beaver等)正在读取文件并发送数据。如果您希望重新读取日志,则需要配置这些程序。
logstash将日志发送到elasticsearch后,会将数据标记为已发送,并且不知道您已从elasticsearch中删除了数据并希望它重新发送日志。
Logstash存储有关它在" sincedb"中发送的内容的信息。文件(可能是" .sincedb"和后缀)。您可以停止logstash,编辑文件以删除有关日志文件的信息,然后重新启动logstash。