Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

InvIndexMerge Class Reference

#include <InvIndexMerge.hpp>

Inheritance diagram for InvIndexMerge:

InvFPIndexMerge List of all members.

Public Methods

 InvIndexMerge (char *buffer, long size, long maxfilesize=2100000000)
 InvIndexMerge (long buffersize=64000000, long maxfilesize=2100000000)
virtual ~InvIndexMerge ()
int merge (vector< string > *tf, const string &prefix)
void setMaxFileSize (long size)
char * setBuffer (char *buffer, long size)
int hierMerge (vector< string > *files, int level)
virtual int mergeFiles (vector< string > *files, vector< string > *intmed, int level)
 merge these files and put the results into the intmed list

virtual int finalMerge (vector< string > *files)
 do the final merge and write the lookup table


Protected Methods

virtual void writeInvFIDs ()
 write file ids for indexes created

virtual void least (vector< IndexReader * > *r, vector< TERMID_T > *ret)
 figure out which readers point to the lowest termids

void setbuf (ifstream *fs, char *bp, int bytes)
 setbuffer for ifstream. trying to keep ugly os specific code out of main code


Protected Attributes

string name
vector< string > invfiles
long maxfile
long bufsize
char * readbuffer

Constructor & Destructor Documentation

InvIndexMerge::InvIndexMerge char *    buffer,
long    size,
long    maxfilesize = 2100000000
 

constructor. vector : a list of files to merge char* : name prefix of created files long : the maximum size the index can be

InvIndexMerge::InvIndexMerge long    buffersize = 64000000,
long    maxfilesize = 2100000000
 

InvIndexMerge::~InvIndexMerge   [virtual]
 


Member Function Documentation

int InvIndexMerge::finalMerge vector< string > *    files [virtual]
 

do the final merge and write the lookup table

Reimplemented in InvFPIndexMerge.

int InvIndexMerge::hierMerge vector< string > *    files,
int    level
 

recursive hierarchical merge calls mergeFiles() when intermediate files are necessary base case if finalMerge()

void InvIndexMerge::least vector< IndexReader * > *    r,
vector< TERMID_T > *    ret
[protected, virtual]
 

figure out which readers point to the lowest termids

int InvIndexMerge::merge vector< string > *    tf,
const string &    prefix
 

output of this merge operation and the lookup table for the merged index returns the number of index files this merge created

int InvIndexMerge::mergeFiles vector< string > *    files,
vector< string > *    intmed,
int    level
[virtual]
 

merge these files and put the results into the intmed list

Reimplemented in InvFPIndexMerge.

void InvIndexMerge::setbuf ifstream *    fs,
char *    bp,
int    bytes
[protected]
 

setbuffer for ifstream. trying to keep ugly os specific code out of main code

char * InvIndexMerge::setBuffer char *    buffer,
long    size
 

void InvIndexMerge::setMaxFileSize long    size
 

void InvIndexMerge::writeInvFIDs   [protected, virtual]
 

write file ids for indexes created


Member Data Documentation

long InvIndexMerge::bufsize [protected]
 

vector<string> InvIndexMerge::invfiles [protected]
 

long InvIndexMerge::maxfile [protected]
 

string InvIndexMerge::name [protected]
 

char* InvIndexMerge::readbuffer [protected]
 


The documentation for this class was generated from the following files:
Generated on Wed Nov 3 12:59:41 2004 for Lemur Toolkit by doxygen1.2.18