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 _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 * dmf 10/18/2002 -- Add include of InvFPTermList to access binWriteC. 00029 * 00030 ======================================================================*/ 00031 #include "common_headers.hpp" 00032 #include "MemCache.hpp" 00033 #include "InvFPTypes.hpp" 00034 #include "InvFPDocList.hpp" 00035 #include "InvFPTerm.hpp" 00036 #include "InvFPTermList.hpp" 00037 #include "InvFPIndexMerge.hpp" 00038 #include "InvPushIndex.hpp" 00039 00040 class InvFPPushIndex : public InvPushIndex { 00041 public: 00042 InvFPPushIndex(){ }; 00043 InvFPPushIndex(const string &prefix, int cachesize=128000000, long maxfilesize=2100000000, DOCID_T startdocid=1); 00044 ~InvFPPushIndex(); 00045 00047 bool addTerm(const Term& t); 00048 00050 void endCollection(const CollectionProps* cp); 00051 00052 00053 protected: 00054 void writeTOC(int numinv); 00056 void doendDoc(const DocumentProps* dp, int mgrid); 00057 00058 00059 vector<LocatedTerm> termlist; 00060 }; 00061 00062 #endif