org.terrier.structures.postings
Class BlockFieldIterablePosting

java.lang.Object
  extended by org.terrier.structures.postings.BasicPostingImpl
      extended by org.terrier.structures.postings.BasicIterablePosting
          extended by org.terrier.structures.postings.BlockFieldIterablePosting
All Implemented Interfaces:
java.io.Closeable, org.apache.hadoop.io.Writable, BlockPosting, FieldPosting, IterablePosting, Posting, WritablePosting

public class BlockFieldIterablePosting
extends BasicIterablePosting
implements BlockPosting, FieldPosting

class BlockFieldIterablePosting


Field Summary
 
Fields inherited from class org.terrier.structures.postings.BasicIterablePosting
bitFileReader, doi, numEntries
 
Fields inherited from class org.terrier.structures.postings.BasicPostingImpl
id, tf
 
Fields inherited from interface org.terrier.structures.postings.IterablePosting
EOL
 
Constructor Summary
BlockFieldIterablePosting(BitIn _bitFileReader, int _numEntries, DocumentIndex doi, int _fieldCount)
          Make a new posting iterator that is read from a BitIn stream.
BlockFieldIterablePosting(int _fieldCount)
          Make a new posting that can be loaded using Writable methods
 
Method Summary
 WritablePosting asWritablePosting()
          Copies this posting to one free of an iterator.
 int[] getFieldFrequencies()
          Returns the frequencies of the term in each field of the document
 int[] getFieldLengths()
          Returns the lengths of the each fields in the current document
 int[] getPositions()
          Return positions of occurrences
 int next()
          Move this iterator to the next posting.
 void readFields(java.io.DataInput in)
          Reads the a single posting (not an iterable posting - use BitPostingIndex for that)
 java.lang.String toString()
          Makes a human readable form of this posting
 void write(java.io.DataOutput out)
          Writes the current posting (not an iterable posting - use DirectInvertedOutputStream for that).
 
Methods inherited from class org.terrier.structures.postings.BasicIterablePosting
close, endOfPostings, getDocumentLength, next
 
Methods inherited from class org.terrier.structures.postings.BasicPostingImpl
getFrequency, getId, setId
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.terrier.structures.postings.Posting
getDocumentLength, getFrequency, getId, setId
 

Constructor Detail

BlockFieldIterablePosting

public BlockFieldIterablePosting(int _fieldCount)
Make a new posting that can be loaded using Writable methods

Parameters:
_fieldCount - number of fields to expect

BlockFieldIterablePosting

public BlockFieldIterablePosting(BitIn _bitFileReader,
                                 int _numEntries,
                                 DocumentIndex doi,
                                 int _fieldCount)
                          throws java.io.IOException
Make a new posting iterator that is read from a BitIn stream.

Parameters:
_bitFileReader - BitIn stream containing postings
_numEntries - number of postings to read from stream
doi - DocumentIndex to read document and field lengths from
_fieldCount - number of fields to expect
Throws:
java.io.IOException
Method Detail

next

public int next()
         throws java.io.IOException
Move this iterator to the next posting.

Specified by:
next in interface IterablePosting
Overrides:
next in class BasicIterablePosting
Returns:
id of next posting, or EOL if end of posting list
Throws:
java.io.IOException

getPositions

public int[] getPositions()
Return positions of occurrences

Specified by:
getPositions in interface BlockPosting

getFieldFrequencies

public int[] getFieldFrequencies()
Returns the frequencies of the term in each field of the document

Specified by:
getFieldFrequencies in interface FieldPosting

getFieldLengths

public int[] getFieldLengths()
Returns the lengths of the each fields in the current document

Specified by:
getFieldLengths in interface FieldPosting

readFields

public void readFields(java.io.DataInput in)
                throws java.io.IOException
Reads the a single posting (not an iterable posting - use BitPostingIndex for that)

Specified by:
readFields in interface org.apache.hadoop.io.Writable
Overrides:
readFields in class BasicPostingImpl
Throws:
java.io.IOException

write

public void write(java.io.DataOutput out)
           throws java.io.IOException
Writes the current posting (not an iterable posting - use DirectInvertedOutputStream for that). Compression using this method is not expected to be comparable to bit-level compression.

Specified by:
write in interface org.apache.hadoop.io.Writable
Overrides:
write in class BasicPostingImpl
Throws:
java.io.IOException

asWritablePosting

public WritablePosting asWritablePosting()
Copies this posting to one free of an iterator. Kind of like a clone.

Specified by:
asWritablePosting in interface Posting
Overrides:
asWritablePosting in class BasicIterablePosting
Returns:
an identical posting, but which can be maniulated free of this iterator

toString

public java.lang.String toString()
Makes a human readable form of this posting

Overrides:
toString in class BasicPostingImpl


Terrier 3.5. Copyright © 2004-2011 University of Glasgow