我如何知道特定文档类型(例如,类型 1 和类型 2)的大小(以字节为单位)?
如果我尝试:
curl -XGET
'http://localhost:9200/my_index/_stats?clear=true&store=true&indexing=true&types=type1,type2'
我只得到索引的总大小(以字节为单位)。
我实际上对某种类型的文档的平均大小感兴趣,但这可以从计数和我猜的总大小中推断出来
我如何知道特定文档类型(例如,类型 1 和类型 2)的大小(以字节为单位)?
如果我尝试:
curl -XGET
'http://localhost:9200/my_index/_stats?clear=true&store=true&indexing=true&types=type1,type2'
我只得到索引的总大小(以字节为单位)。
我实际上对某种类型的文档的平均大小感兴趣,但这可以从计数和我猜的总大小中推断出来
不同的类型使用相同的索引进行索引,并且共享许多公共结构。所以,如果不考虑另一种类型的影响,就不可能知道一种类型的服用量。
正如上面的答案所说,弹性搜索中没有办法做到这一点。
不确定这是否明显,但我需要完成同样的事情来跟踪一些失控的索引增长,所以我添加了一个可选的调试索引,其中充当我索引中心点的应用程序实际上记录了每个索引的大小文档、索引后的 id 以及其他一些相关信息,以帮助我追踪占用所有空间的文档是什么。
这种方法不是 100% 准确的,因为压缩前的最大不一定表示压缩后的最大(很确定 ES 压缩文档,我认为将它们存储为二进制 json 格式?),但它确实为我指明了正确的方向。