关于全文检索的归并的算法总结:
最近搜集了不少全文检索的资料,林林总总,各色各异,有
IR
的基本知识,有开源软件的介绍,等等。但是最吸引我的还是索引的动态维护,毕竟现在是个信息大爆炸的时代,高性能的索引动态维护已经成为时代的需要。
今天对全文检索的归并算法进行了总结,自成一言,可能对,也可能理解的有差别,还希望大家提出宝贵的意见,还希望各位大“家”海涵。在这里,我先谢过了!
我理解现在的归并面临的最紧迫要解决的问题就是避免出现“
15M
和
15G
归并”的情况,所有的归并的算法都是围绕这样一种情况进行的。请注意,我在这篇文章里会多次出现“
15M
和
15G
归并”这几个字眼,我相信对全文检索深入了解的人都能明白我的意思。
在
IR
发展的初期出现的归并,我称为三角形归并。
第一类:三角形归并
为什么称为三角形归并呢?就是因为最终都归并成一个文件,永远不会出现
2
个文件的情况。
1.立即归并
这种情况下,比较坏的地方就是多次归并以后就会出现类似
15M
和
15G
归并的情况。
归并树的情况如图:黑色或灰色的代表由于内存不够写到硬盘的临时文件,白色的表示归并的过程中生成的临时文件,紫色的代表经过归并最终产生的索引文件。