Lucene中对PostingTable进行排序,Posting源码
来源:互联网 发布:淘宝无线端流量来源 编辑:程序博客网 时间:2024/06/16 20:52
在DocumentWriter的addadocument方法中,当对一个Document进行倒排完毕后,所有词条就被加入postingTable中。
postingTable是一个HashTable它的key就是词条Term对象,它的值是一个posting类型的对象。这个类被定义在DocumentWriter类的内部。
package indexwriter;
//Posting类源码import org.apache.lucene.index.Term;
import org.apache.lucene.index.TermVectorOffsetInfo;
public class Posting {
//词条对象
Term term;
//词条的出现频率
int freq;
//记录词条出现的位置的数组
int[] positions; //positions it occurs at
//记录词条的偏移量数组
TermVectorOffsetInfo[] offsets;
//构造函数
Posting(Term t, int position, TermVectorOffsetInfo offset){
term = t;
freq = 1;
positions = new int[1];
positions[0] = position;
if(offset != null){
offsets = new TermVectorOffsetInfo[1];
offsets[0] = offset;
}else
offsets = null;
}
}
所有词条被加入postingTable后,Lcuene首先将这个postingTable转化成一个Posting类型的数组,然后对这个数组进行排序,使所有的词条按照字典序排列,那样,就可以将词条信息写入。tii和.tis文件。另外, 将频率和位置信息写入.frq和prx文件中去。
0 0
- Lucene中对PostingTable进行排序,Posting源码
- lucene-对搜索结果进行排序
- Lucene中使用Score进行自然排序
- lucene利用sort对查询结果进行排序示例
- Lucene使用Sort方法对文档进行排序
- Lucene使用SortField对多个字段进行排序
- 对List中对象属性进行排序
- JAVA中对LIST进行排序操作
- Java中对List进行排序
- mysql中对查询结果进行排序
- 对ArrayList中某一元素进行排序
- PHP中对数组进行排序
- delphi中对树进行自定义排序
- java中如何对list进行排序
- iOS中对字典进行排序
- Flex中对ArrayCollection进行排序
- java中对ArrayList进行排序
- Java中对List进行排序
- GridView 把某一列设置为在编辑状态时是 DropDownList 下拉选项
- hdu 4751 Divide Groups 2013 ACM/ICPC Asia Regional Nanjing Online
- Spinlock annotations merged from the realtime tree to Linux mainline in 2.6.33
- Android 开发中使用 SQLite 数据库
- 实现一级二级查询—路径问题
- Lucene中对PostingTable进行排序,Posting源码
- 驱动分发部署和inf
- Hadoop加载自有资源文件
- opencv在visual studio中配置
- iOS静态库相关-封装lib
- jQgrid 数据保存
- 分析一次地址跳转
- FPGA实现4K(分辨率为3840X2160)视频拼接器
- 绪论总结