查看文章 |
欢迎转载,但请注明出处,并给活力链接。谢谢 现在该来讲建立倒排索引的具体流程和方法了。有了这一章中前面几节的基础,理解这个就变得非常容易。 在搜集程序运行完以后,我们的目录下各个站点对应了path、attr、info三种文件。 然后主进程fork出两个子进程,一个子进程负责按顺序扫描attr文件;另一个子进程负责扫描path文件。两个子进程互不干扰,同时进行。主进程等待两个子进程结束。 负责扫描attr文件的,逐行扫描,每一行对应生成一个Fileinformation结构,以二进制写入到inforindex文件中。 负责扫描path文件的子进程,即扫描path文件中不以”/”开头的每一行(以”/”开头的并不是真正的文件,而是路径),逐一扫描文件,生成双字母倒排索引,写入到对应的索引文件中。生成索引的过程中要注意文件名中含有连续两个中文字符的问题,4.3节已有详细过程及原因,这里不再赘述。 最后,当主进程等到两个子进程都退出后,计算各个文件夹的大小。(4.6节介绍) |