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)
 InvIndexMerge (long buffersize=64000000, long maxfilesize=2100000000)
 ~InvIndexMerge ()
int merge (vector< char * > *tf, char *prefix)
void setMaxFileSize (long size)
char * setBuffer (char *buffer, long size)
int hierMerge (vector< char * > *files, int level)
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.

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

Reimplemented in InvFPIndexMerge.


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 on Fri Feb 6 07:12:02 2004 for LEMUR by doxygen1.2.16