Main Page   Namespace List   Class Hierarchy   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)
 constructor. vector : a list of files to merge char* : name prefix of created files long : the maximum size the index can be.

 InvIndexMerge (long buffersize=64000000,long maxfilesize=2100000000)
 ~InvIndexMerge ()
int merge (vector< char *> *tf,char *prefix)
 output of this merge operation and the lookup table for the merged index returns the number of index files this merge created.

void setMaxFileSize (long size)
char* setBuffer (char *buffer,long size)
int hierMerge (vector< char *> *files,int level)
 recursive hierarchical merge calls mergeFiles() when intermediate files are necessary base case if finalMerge().

virtual int mergeFiles (vector< char *> *files,vector< char *> *intmed,int level)
 merge these files and put the results into the intmed list.

virtual int finalMerge (vector< char *> *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< int > *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

char* name
vector<char*> 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 ( )
 


Member Function Documentation

int InvIndexMerge::finalMerge ( vector< char *> * files ) [virtual]
 

do the final merge and write the lookup table.

Reimplemented in InvFPIndexMerge.

int InvIndexMerge::hierMerge ( vector< char *> * files,
int level )
 

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

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

figure out which readers point to the lowest termids.

int InvIndexMerge::merge ( vector< char *> * tf,
char * 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< char *> * files,
vector< char *> * intmed,
int level ) [virtual]
 

merge these files and put the results into the intmed list.

Reimplemented in InvFPIndexMerge.

char * InvIndexMerge::setBuffer ( char * buf,
long size )
 

void InvIndexMerge::setMaxFileSize ( long size )
 

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

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

void InvIndexMerge::writeInvFIDs ( ) [protected, virtual]
 

write file ids for indexes created.


Member Data Documentation

long InvIndexMerge::bufsize [protected]
 

vector< char *> InvIndexMerge::invfiles [protected]
 

long InvIndexMerge::maxfile [protected]
 

char * InvIndexMerge::name [protected]
 

char * InvIndexMerge::readbuffer [protected]
 


The documentation for this class was generated from the following files:
Generated at Fri Jul 26 18:27:04 2002 for LEMUR by doxygen1.2.4 written by Dimitri van Heesch, © 1997-2000