/** * Construct an instance of the class with * @param die */ public SimpleDocumentIndexEntry(DocumentIndexEntry die) { super.entries = die.getNumberOfEntries(); super.doclength = die.getDocumentLength(); } /**
@Override public void setBitIndexPointer(BitIndexPointer pointer) { innerDocumentIndexEntry.setBitIndexPointer(pointer); }
@Override public void setNumberOfEntries(int n) { innerDocumentIndexEntry.setNumberOfEntries(n); }
/** * Constructs an instance of the BasicDocumentIndexEntry. * @param in */ public BasicDocumentIndexEntry(DocumentIndexEntry in) { doclength = in.getDocumentLength(); entries = in.getNumberOfEntries(); bytes = in.getOffset(); bits = in.getOffsetBits(); bits += in.getFileNumber() << FILE_SHIFT; } /**
public int getDocumentLength(int docid) throws IOException { return die.getDocumentLength(); }
public int getNumberOfCurrentPostings() { return doiEntry.getValue().getNumberOfEntries(); }
if (die.getDocumentLength() > 0) die.setBitIndexPointer(pointerDF); docidOutput.addEntryToBuffer(die); metaBuilder.writeDocumentEntry(metaInput1.getAllItems(sourceDocid)); if (die.getDocumentLength() > 0) pointerDF = dfOutput.writePostings(postingList.iterator()); die.setBitIndexPointer(pointerDF); docidOutput.addEntryToBuffer(die); metaBuilder.writeDocumentEntry(metaInput2.getAllItems(sourceDocid));
die.setOffset(dis.readLong(), dis.readByte()); die.setNumberOfEntries(dis.readInt()); dios.addEntryToBuffer(die);
/** Return a DocumentIndexEntry for this document */ public DocumentIndexEntry getDocumentStatistics() { DocumentIndexEntry die = new BasicDocumentIndexEntry(); die.setDocumentLength(this.getDocumentLength()); die.setNumberOfEntries(this.getNumberOfPointers()); return die; }
/** * {@inheritDoc} */ public String toString() { StringBuilder s = new StringBuilder(); s.append(doclength); s.append(' '); s.append(entries); s.append("@{"); s.append(this.getFileNumber()); s.append(','); s.append(bytes); s.append(','); s.append(this.getOffsetBits()); s.append('}'); return s.toString(); }
@Override public void setOffset(BitFilePosition pos) { innerDocumentIndexEntry.setOffset(pos); }
/** * {@inheritDoc} */ public void setOffset(long _bytes, byte _bits) { bytes = _bytes; byte fileId = this.getFileNumber(); bits = _bits; bits += (fileId << FILE_SHIFT); } /**
/** * Constructs an instance of the BasicDocumentIndexEntry. * @param in */ public BasicDocumentIndexEntry(DocumentIndexEntry in) { doclength = in.getDocumentLength(); entries = in.getNumberOfEntries(); bytes = in.getOffset(); bits = in.getOffsetBits(); bits += in.getFileNumber() << FILE_SHIFT; } /**
public int getDocumentLength(int docid) throws IOException { return die.getDocumentLength(); }
/** * Returns a five dimensional array containing the * term ids and the term frequencies for the given document. * @return int[][] a five dimensional array containing * the term ids, frequencies, field scores, * block frequencies and the containing the block ids. * @param docid the id of the document whose terms we are looking for. */ public int[][] getTerms(int docid) throws IOException { DocumentIndexEntry de = docIndex.getDocumentEntry(docid); if (de == null) return null; if (de.getNumberOfEntries() == 0) return null; return getTerms(de); }
/** * {@inheritDoc} */ public String toString() { StringBuilder s = new StringBuilder(); s.append(doclength); s.append(' '); s.append(entries); s.append("@{"); s.append(this.getFileNumber()); s.append(','); s.append(bytes); s.append(','); s.append(this.getOffsetBits()); s.append('}'); return s.toString(); }
/** * {@inheritDoc} */ public void setOffset(long _bytes, byte _bits) { bytes = _bytes; byte fileId = this.getFileNumber(); bits = _bits; bits += (fileId << FILE_SHIFT); } /**
/** * Construct an instance of the class with * @param die */ public SimpleDocumentIndexEntry(DocumentIndexEntry die) { super.entries = die.getNumberOfEntries(); super.doclength = die.getDocumentLength(); } /**
/** Iterates through the document index, until it has reached the given number of terms * @param _processTokens Number of tokens to stop reading the documentindex after * @param docidStream the document index stream to read * @return the number of documents to process */ protected static int scanDocumentIndexForTokens( final long _processTokens, final Iterator<DocumentIndexEntry> docidStream) throws IOException { long tokens = 0; int i=1; while(docidStream.hasNext()) { tokens += docidStream.next().getDocumentLength(); if (tokens >= _processTokens) return i; i++; } return i-1; }
/** * Returns a five dimensional array containing the * term ids and the term frequencies for the given document. * @return int[][] a five dimensional array containing * the term ids, frequencies, field scores, * block frequencies and the containing the block ids. * @param docid the id of the document whose terms we are looking for. */ public int[][] getTerms(int docid) throws IOException { DocumentIndexEntry de = docIndex.getDocumentEntry(docid); if (de == null) return null; if (de.getNumberOfEntries() == 0) return null; return getTerms(de); }