悟空,拿我的打狗棒来

elasticsearch 每个shard对应的文件含义

Elasticsearch | 作者 redhat | 发布于2018年08月31日 | 阅读数:7796


1.png


2.png


3.png


4.png

这是我一个index中某一个shard下index里的所有文件,请问各个文件的命名规则及含义?
已邀请:

JackGe

赞同来自: CarrieJin derobukal redhat Loading Zhang

同意@derobukal 的说法,另外我想补充下
 
一份数据写入es会产生多份数据用于不同查询方式,会比原数据占用更多磁盘空间。而索引setting里"codec": "best_compression"是针对_source进行压缩的,压缩算法是deflate压缩比为6。
存储原文_source的文件.fdt .fdm .fdx;存储倒排索引的文件.tim .tip .doc;用于聚合排序的列存文件.dvd .dvm;全文检索文件.pos .pay .nvd .nvm等。加载到内存中的文件有.fdx .tip .dvm,其中.tip占用内存最大,而.fdt . tim .dvd文件占用磁盘最大,例如
1.5M    _ap9_1w3.liv
5.0G _ap9.fdt
1.9M _ap9.fdx
44K _ap9.fnm
3.1G _ap9_Lucene50_0.doc
4.2G _ap9_Lucene50_0.tim
81M _ap9_Lucene50_0.tip
7.7G _ap9_Lucene54_0.dvd
20K _ap9_Lucene54_0.dvm
4.0K _ap9.si
另外segment较小时文件内容是保存在.cfs文件中,.cfe文件保存Lucene各文件在.cfs文件的位置信息,这是为了减少Lucene打开的文件句柄数。
 
es节点上shard过多了会导致内存不够,可以对静态的索引进行POST {indexName}/_forcemerge?max_num_segments=1 
 
希望回答对你有用。

Loading Zhang

赞同来自: redhat

今天的日报里的一篇文章就有解释。

derobukal

赞同来自: redhat

日报里面写的 https://www.elastic.co/blog/fo ... files
 
事实上这些是Lucene的段文件:https://www.elastic.co/blog/fo ... files

要回复问题请先登录注册