倒排索引的实现

倒排索引技术主要应用与全文检索,通过对非主关键字的分析,建立内容与PK之间的关键。通过索引文件
存储后提供给应用高效的检索。
如果需要自己定制倒排索引器,算法应该实现如下的步骤:

1.信息分析,对输入的数据项或者记录(P,K)中的K做一个过滤的词法和语法分析。
主要对数据中非主关键字内容K进行分词,过滤,分析等获得一个内容关键字(k1,k2,k3....)集合
2.建立倒排关系,倒排所有和一般索引区别主要利用内容中的关键字建立和主关键字P的关系
这样把数据向(P,K)分割成一个倒排关系集合(k1,p),(k2,p),(k3,p)....
3.建立倒排索引,有了上面的一系列的关系后,你可好把k1,k2看成主关键字,建立多k到pn的索引集合,形成(k1,(p1,p2,p3,....)),(k2,(p1,p2,p3,....))。
4.索引存储,把所有关键字k的索引集合用一种统一的数据结构存储.
5.优化机制.一般内存K形成的关键较大,这样形成索引集合比较大,一般需要加入一下优化处理的机制.例如压缩技术.这可以参考Lucence的实现(把关键词压缩为<前缀长度,后缀)

6.[可选]应用接口.你实现了上述的算法,还必须提供一套接口(API)给应用程序使用.

猜你喜欢

转载自wwangcg.iteye.com/blog/1320835