在Elasticsearch中查找文档类型的平均存储大小。

3

我该如何知道特定文档类型的大小(以字节为单位),例如类型1和类型2?

如果我尝试:

curl -XGET 
'http://localhost:9200/my_index/_stats?clear=true&store=true&indexing=true&types=type1,type2'

我只获得索引的总字节数。

实际上,我对某种类型文档的平均大小感兴趣,但我想这可以从计数和总大小中推导出来。


你可能已经得到了答案,但如果有人再次遇到这篇文章,答案在这里:https://dev59.com/5F4c5IYBdhLWcg3wFW2N#28335626 - AFMeirelles
2个回答

3

不同类型使用相同的索引并共享许多通用结构。因此,如果不考虑其他类型的影响,就无法准确确定某种类型所占的比例。


谢谢,不包括索引,存储大小是多少? - eran
很难跟踪它。例如,考虑通过查询进行删除。 - imotov

0

正如上面的答案所说,elasticsearch本身没有内置实现这个功能的方法。

不确定这是否显而易见,但是我需要完成同样的事情来跟踪一些失控的索引增长,因此我添加了一个可选的调试索引,其中充当我的索引中心点的应用程序实际上记录了每个文档的大小、索引后的ID以及其他相关信息,以帮助我追踪那些占用所有空间的文档。

这种方法并不是100%准确的,因为在压缩之前最大的文档不一定意味着在压缩之后最大(我很确定ES会压缩文档并将它们存储在二进制JSON格式中?),但它确实指出了我正确的方向。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接