类 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:可序列化到文件或从文件反序列化
  
另请参阅:
序列化表格
  • 字段概要

    字段 
    修饰符和类型 字段 说明
    protected int docId
    包含单词的文档id
    protected int freq
    单词在文档里出现的次数
    protected java.util.List<java.lang.Integer> positions
    单词在文档里出现的位置列表(以单词为单位进行编号,如第1个单词,第2个单词,...), 单词可能在文档里出现多次,因此需要一个List来保存
  • 构造器概要

    构造器 
    构造器 说明
    AbstractPosting()
    缺省构造函数
    AbstractPosting​(int docId, int freq, java.util.List<java.lang.Integer> positions)
    构造函数
  • 方法概要

    修饰符和类型 方法 说明
    abstract int compareTo​(AbstractPosting o)
    比较二个Posting对象的大小(根据docId)
    abstract boolean equals​(java.lang.Object obj)
    判断二个Posting内容是否相同
    abstract int getDocId()
    返回包含单词的文档id
    abstract int getFreq()
    返回单词在文档里出现的次数
    abstract java.util.List<java.lang.Integer> getPositions()
    返回单词在文档里出现的位置列表
    abstract void setDocId​(int docId)
    设置包含单词的文档id
    abstract void setFreq​(int freq)
    设置单词在文档里出现的次数
    abstract void setPositions​(java.util.List<java.lang.Integer> positions)
    设置单词在文档里出现的位置列表
    abstract void sort()
    对内部positions从小到大排序
    abstract java.lang.String toString()
    返回Posting的字符串表示

    从类继承的方法 java.lang.Object

    clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    从接口继承的方法 hust.cs.javacourse.search.index.FileSerializable

    readObject, writeObject
  • 字段详细资料

    • docId

      protected int docId
      包含单词的文档id
    • freq

      protected int freq
      单词在文档里出现的次数
    • positions

      protected java.util.List<java.lang.Integer> positions
      单词在文档里出现的位置列表(以单词为单位进行编号,如第1个单词,第2个单词,...), 单词可能在文档里出现多次,因此需要一个List来保存
  • 构造器详细资料

    • AbstractPosting

      public AbstractPosting()
      缺省构造函数
    • AbstractPosting

      public AbstractPosting​(int docId, int freq, java.util.List<java.lang.Integer> positions)
      构造函数
      参数:
      docId - :包含单词的文档id
      freq - :单词在文档里出现的次数
      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

      public abstract int compareTo​(AbstractPosting o)
      比较二个Posting对象的大小(根据docId)
      指定者:
      compareTo 在接口中 java.lang.Comparable<AbstractPosting>
      参数:
      o - : 另一个Posting对象
      返回:
      :二个Posting对象的docId的差值
    • sort

      public abstract void sort()
      对内部positions从小到大排序