我通过logstash从oracle写入索引。
输出为:
elasticsearch {
index => "****"
document_type => "****"
document_id => "%{my_computed_id}"
hosts => "localhost:9200"
}
但是当我检查索引管理时,文档计数是相同的,但是存储空间增加了。
我想更新我的文档,为什么要增加存储空间?
提前感谢
发生这种情况是因为elasticsearch如何更新文档。
更新文档时,elasticsearch不会简单地覆盖文档。将旧文档标记为已删除,并使用当前文档中存在的字段创建新文档。
搜索时,标记为已删除的文档不包括在搜索中。
此外,您还需要了解如何在Lucene中将数据存储在后端。在后端,elasticsearch的一个碎片是lucene的一种索引。每个lucene索引中都有多个段。
当段大小变大时,多个段合并以形成一个新的大段。
当段合并形成新段时,标记为已删除的文档不包括在新段中。
所以您的数据大小将暂时增加,但最终会减小。
这里是链接:https://www.elastic.co/blog/lucenes-handling-of-deleted-documents