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

InvFPIndexMerge.hpp

Go to the documentation of this file.
00001 /*==========================================================================
00002  * Copyright (c) 2001 Carnegie Mellon University.  All Rights Reserved.
00003  *
00004  * Use of the Lemur Toolkit for Language Modeling and Information Retrieval
00005  * is subject to the terms of the software license set forth in the LICENSE
00006  * file included with this software, and also available at
00007  * http://www.lemurproject.org/license.html
00008  *
00009  *==========================================================================
00010 */
00011 
00012 
00013 #ifndef _INVFPINDEXMERGE_HPP
00014 #define _INVFPINDEXMERGE_HPP
00015 
00016 #include "common_headers.hpp"
00017 #include "InvIndexMerge.hpp"
00018 #include "InvFPDocList.hpp"
00019 #include "InvFPTypes.hpp"
00020 
00021 struct InvFPIndexReader {
00022   InvFPDocList* list;
00023   ifstream* reader;
00024 };
00025 
00026 // this class could actually be static
00027 class InvFPIndexMerge : public InvIndexMerge {
00028 public:
00033   InvFPIndexMerge(char* buffer, long size, long maxfilesize=2100000000);
00034   InvFPIndexMerge(long buffersize=64000000, long maxfilesize=2100000000);
00035   virtual ~InvFPIndexMerge();
00036 
00038   virtual int mergeFiles(vector<string>* files, vector<string>* intmed, int level);
00039 
00041   virtual int finalMerge(vector<string>* files);
00042 
00043 
00044 private:
00045   void writeInvFIDs();
00047   void least(vector<InvFPIndexReader*>* r, vector<TERMID_T>* ret);
00048 };
00049 
00050 #endif

Generated on Wed Nov 3 12:58:58 2004 for Lemur Toolkit by doxygen1.2.18