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 |