#include <InvIndexMerge.hpp>
Inheritance diagram for InvIndexMerge:
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. vector : a list of files to merge char* : name prefix of created files long : the maximum size the index can be |
|
|
|
|
|
do the final merge and write the lookup table
Reimplemented in InvFPIndexMerge. |
|
recursive hierarchical merge calls mergeFiles() when intermediate files are necessary base case if finalMerge() |
|
figure out which readers point to the lowest termids
|
|
output of this merge operation and the lookup table for the merged index returns the number of index files this merge created |
|
merge these files and put the results into the intmed list
Reimplemented in InvFPIndexMerge. |
|
setbuffer for ifstream. trying to keep ugly os specific code out of main code
|
|
|
|
|
|
write file ids for indexes created
|
|
|
|
|
|
|
|
|
|
|