恢复elasticsearch文档
Restore elasticsearch documents
先说:我用的是elasticsearch 2.0
,安装过delete-by-query plugin
。
使用这个插件,我删除了一部分文件。删除后,文档将被标记为已删除,您将无法再找到它们。要从磁盘中删除文件,您必须使用 optimize
或 forcemerge
see here.
我没有从磁盘上删除文档。我的问题是,几天后我发现我删除了一些重要文件。
所以我的问题是:我可以恢复被标记的文档吗?
不,您不能恢复被标记的文档。
您不必调用 forcemerge
来确保从磁盘中删除文档(它基本上用于优化索引,即如果您有很多段,那么您调用 forcemerge
来减少段数并使搜索更快。另一个用例是如果您删除大量文档并想快速回收磁盘 space,那么您调用 forcemerge
)
文档 marked deleted
将从磁盘中删除,因为 segment merging
进程正在后台进行。
您还可以使用 indices segments api
检查您有多少已删除的文档
This blog对理解ES的删除过程有很大帮助
先说:我用的是elasticsearch 2.0
,安装过delete-by-query plugin
。
使用这个插件,我删除了一部分文件。删除后,文档将被标记为已删除,您将无法再找到它们。要从磁盘中删除文件,您必须使用 optimize
或 forcemerge
see here.
我没有从磁盘上删除文档。我的问题是,几天后我发现我删除了一些重要文件。
所以我的问题是:我可以恢复被标记的文档吗?
不,您不能恢复被标记的文档。
您不必调用 forcemerge
来确保从磁盘中删除文档(它基本上用于优化索引,即如果您有很多段,那么您调用 forcemerge
来减少段数并使搜索更快。另一个用例是如果您删除大量文档并想快速回收磁盘 space,那么您调用 forcemerge
)
文档 marked deleted
将从磁盘中删除,因为 segment merging
进程正在后台进行。
您还可以使用 indices segments api
This blog对理解ES的删除过程有很大帮助