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.cs.cmu.edu/~lemur/license.html 00008 * 00009 *========================================================================== 00010 */ 00011 00012 00013 #ifndef _INVFPPUSHINDEX_HPP 00014 #define _INVFPPUSHINDEX_HPP 00015 00017 00024 /* 00025 * NAME DATE - COMMENTS 00026 * tnt 03/01 - created 00027 * tnt 06/02 - subclass from InvPushIndex 00028 * 00029 ======================================================================*/ 00030 #include "common_headers.hpp" 00031 #include "MemCache.hpp" 00032 #include "InvFPTypes.hpp" 00033 #include "InvFPDocList.hpp" 00034 #include "InvFPTerm.hpp" 00035 #include "InvFPIndexMerge.hpp" 00036 #include "InvPushIndex.hpp" 00037 00038 class InvFPPushIndex : public InvPushIndex { 00039 public: 00040 InvFPPushIndex(){ }; 00041 InvFPPushIndex(char* prefix, int cachesize=128000000, long maxfilesize=2100000000, DOCID_T startdocid=1); 00042 ~InvFPPushIndex(); 00043 00045 bool addTerm(Term& t); 00046 00048 void endCollection(CollectionProps* cp); 00049 00050 00051 protected: 00052 void writeTOC(int numinv); 00054 void doendDoc(DocumentProps* dp, int mgrid); 00055 00056 00057 vector<LocatedTerm> termlist; 00058 }; 00059 00060 #endif