先了解下文件结构:
一个完整的数据集合对应到一个目录。也就是说,如果你想打开一个数据集合,传入一个目录名就可以了,这个目录下面所有的文件是一个整体。
一个数据集合可以分成多个segment,一个segment对应了多个文件(这些文件的文件名相同,但是文件扩展名不同,也就是文件名表示这个文件属于哪个segement,扩展名表示这个文件存储了啥内容)。segment的文件名有固定的命名规则。一般从 " _0 "开始,然后是“_1” "_2" ........"_9" "_a" ......"_z" "_10".............."_1z"等等。
segment的变化过程
随着文档的不断加入,生成segment,合并segment,整个目录中的文件变化情况大概是:
当加入第一篇文档时,生成第一个segment: _0
当加入第二篇文档时,生成第2个segment: _1
当加入第三篇文档时,生成第3个segment: _2
也就是一篇文档,就生成一个新的segment。
直到加入第十篇文档,生成第一个segment: _9
这时候会产生segment合并(代码中缺省值为10个segment产生合并机制,这个缺省值用户可以自己设定),
生成一个新的segment:_a, 此segment含义前面加入的10篇文档。同