类 AbstractPosting
java.lang.Object
hust.cs.javacourse.search.index.AbstractPosting
- 所有已实现的接口:
FileSerializable,java.io.Serializable,java.lang.Comparable<AbstractPosting>
- 直接已知子类:
Posting
public abstract class AbstractPosting extends java.lang.Object implements java.lang.Comparable<AbstractPosting>, FileSerializable
AbstractPosting是Posting对象的抽象父类.
Posting对象代表倒排索引里每一项, 一个Posting对象包括:
包含单词的文档id.
单词在文档里出现的次数.
单词在文档里出现的位置列表(位置下标不是以字符为编号,而是以单词为单位进行编号.
必须实现下面二个接口:
Comparable:可比较大小(按照docId大小排序),
当检索词为二个单词时,需要求这二个单词对应的PostingList的交集,
如果每个PostingList按docId从小到大排序,可以提高求交集的效率.
FileSerializable:可序列化到文件或从文件反序列化
- 另请参阅:
- 序列化表格
-
字段概要
-
构造器概要
构造器 构造器 说明 AbstractPosting()缺省构造函数AbstractPosting(int docId, int freq, java.util.List<java.lang.Integer> positions)构造函数 -
方法概要
修饰符和类型 方法 说明 abstract intcompareTo(AbstractPosting o)比较二个Posting对象的大小(根据docId)abstract booleanequals(java.lang.Object obj)判断二个Posting内容是否相同abstract intgetDocId()返回包含单词的文档idabstract intgetFreq()返回单词在文档里出现的次数abstract java.util.List<java.lang.Integer>getPositions()返回单词在文档里出现的位置列表abstract voidsetDocId(int docId)设置包含单词的文档idabstract voidsetFreq(int freq)设置单词在文档里出现的次数abstract voidsetPositions(java.util.List<java.lang.Integer> positions)设置单词在文档里出现的位置列表abstract voidsort()对内部positions从小到大排序abstract java.lang.StringtoString()返回Posting的字符串表示
-
字段详细资料
-
构造器详细资料
-
AbstractPosting
public AbstractPosting()缺省构造函数 -
AbstractPosting
public AbstractPosting(int docId, int freq, java.util.List<java.lang.Integer> positions)构造函数- 参数:
docId- :包含单词的文档idfreq- :单词在文档里出现的次数positions- :单词在文档里出现的位置
-
-
方法详细资料
-
equals
public abstract boolean equals(java.lang.Object obj)判断二个Posting内容是否相同- 覆盖:
equals在类中java.lang.Object- 参数:
obj- :要比较的另外一个Posting- 返回:
- 如果内容相等返回true,否则返回false
-
toString
public abstract java.lang.String toString()返回Posting的字符串表示- 覆盖:
toString在类中java.lang.Object- 返回:
- 字符串
-
getDocId
public abstract int getDocId()返回包含单词的文档id- 返回:
- :文档id
-
setDocId
public abstract void setDocId(int docId)设置包含单词的文档id- 参数:
docId- :包含单词的文档id
-
getFreq
public abstract int getFreq()返回单词在文档里出现的次数- 返回:
- :出现次数
-
setFreq
public abstract void setFreq(int freq)设置单词在文档里出现的次数- 参数:
freq- :单词在文档里出现的次数
-
getPositions
public abstract java.util.List<java.lang.Integer> getPositions()返回单词在文档里出现的位置列表- 返回:
- :位置列表
-
setPositions
public abstract void setPositions(java.util.List<java.lang.Integer> positions)设置单词在文档里出现的位置列表- 参数:
positions- :单词在文档里出现的位置列表
-
compareTo
比较二个Posting对象的大小(根据docId)- 指定者:
compareTo在接口中java.lang.Comparable<AbstractPosting>- 参数:
o- : 另一个Posting对象- 返回:
- :二个Posting对象的docId的差值
-
sort
public abstract void sort()对内部positions从小到大排序
-