在我的应用程序中,我们在ElasticSearch中使用每日索引 . 每天,我们都会在我们的Snapshot存储库中创建前一天的快照 .

几天后,我们删除了Elastic的索引,经过几天后,我们删除了快照 .

但是,当我进入 $my_snapshot_repositories_path/indices 目录时,我仍然看到所有已快照的索引,而它们不再由Snapshot list API返回(并且文件系统上没有meta-XXX和snap-XXX文件用于这些快照) . 但是,所有的indices目录都不包含数据,只有5个空目录,名称为1,2,等等 .

这是我的存储库文件层次结构内容:

index
indices
meta-backup_flux-2017.03.24.dat
meta-backup_flux-2017.03.25.dat
meta-backup_flux-2017.03.26.dat

这是索引目录文件层次结构内容:

flux-2017.03.23
flux-2017.03.24
flux-2017.03.25
flux-2017.03.26

他们的内容(所有这些目录都是空的):

drwxr-x--- 2 4096 Mar 31 12:00 0
drwxr-x--- 2 4096 Mar 31 12:00 1
drwxr-x--- 2 4096 Mar 31 12:00 2
drwxr-x--- 2 4096 Mar 31 12:00 3
drwxr-x--- 2 4096 Mar 31 12:00 4

最后,当我在indices目录中执行 du -sh * 时,我看到所有删除的索引权重都是24KB(Linux上的6个目录的大小) . 未删除的索引权重约为40MB .

有关信息,我用于搜索的弹性搜索索引存储在计算机上的另一个位置 .

难道我做错了什么?

我的ElasticSearch版本: 2.4

这是我创建和删除快照的方式:

快照创建:

curl -s -H "Content-Type: application/json" -X PUT -d "{\"indices\": \"flux-2017.03.23\", \"ignore_unavailable\": false, \"include_global_state\": false}" http://0.0.0.0:9200/_snapshot/backup_flux/backup_flux-2017.03.23?wait_for_completion=true

快照删除:

curl -s -H "Content-Type: application/json" -X DELETE http://0.0.0.0:9200/_snapshot/backup_flux/backup_flux-2017.03.23

问候 .