00001 /*========================================================================== 00002 * 00003 * Original source copyright (c) 2003, Carnegie Mellon University. 00004 * See copyright.cmu for details. 00005 * 00006 *========================================================================== 00007 */ 00008 00009 #ifndef _PROPINDEXTH_HPP 00010 #define _PROPINDEXTH_HPP 00011 00012 #include "TextHandler.hpp" 00013 #include "InvFPTermList.hpp" 00014 #include "PushIndex.hpp" 00015 namespace lemur 00016 { 00017 namespace parse 00018 { 00019 00020 #define MAX_WORD_LENGTH 25 00021 00034 class PropIndexTH : public lemur::api::TextHandler { 00035 00036 public: 00037 // want to subclass this class for incremental. 00038 PropIndexTH() { } 00039 00042 #if 0 00043 PropIndexTH(const string &filename, int bufferSize, 00044 bool countStopWds = false, int ind = 1); 00045 #endif 00046 PropIndexTH(const string &filename, int bufferSize, 00047 bool countStopWds); 00048 ~PropIndexTH(); 00049 00051 char * handleDoc(char * docno); 00053 char * handleWord(char * word, const char* original, PropertyList* list); 00054 00056 void setDocManager(const string &mgrID); 00057 // want to subclass this class for incremental. 00058 protected: 00060 void endDoc(); 00061 void endCollection(); 00062 00064 lemur::index::PushIndex * index; 00066 DocumentProps * dp; 00068 lemur::index::InvFPTerm * term; 00070 int docLength; 00071 00073 bool countStopWds; 00074 00077 bool first; 00078 }; 00079 } 00080 } 00081 00082 #endif 00083