Lucene是一个成熟的全文检索库,由Java语言编写,具有高性能、可伸缩的特点,并且开源、免费。
二、全文检索索引系统通过扫描文章中的每一个词,对其创建索引,指明在文章中出现的次数和位置,当用户查询时,索引系统过就会根据事先简历的索引进行查找,并将查找的结果反馈给用户的检索方式
三、倒排索引 四、倒排索引的数据结构 五、倒排索引的倒排表压缩算法一:FOR-frame Of Reference将后一个数字与前一个数值做差,然后归类用适合的数据长度保存details list
除以65536 取商与余数。
由于商和余数均不会大于65536,所以可以用short类型(2Byte:16bit)来存储商和余数。
商由一个short[]存储作为key;余数作为Container
1、ArrayContainer:使用Short[]类型来存储,Container每包含一个元素,大小都增加2Byte,最大为65536个元素,占用空间65536*2Byte=128kb
2、BitMapContainer:基于位图,固定一个包含有65536个bit的bitmap,其中每一位都表示0~65535的独立的数字,当对应位上有值时,则标记为1。这样一个bitmap长度固定为65536bit=8kb
3、RunContainer:标记一段连续的数据的首位数据,需要数据有规则的连续。
1,2,3…100W个 →[1,100W]
400WByte → 8Byte
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)