FirteX-高性能全文索引和检索平台API Documentation |
00001 // 00002 // Copyright(C) 2005--2006 Institute of Computing Tech, Chinese Academy of Sciences. 00003 // All rights reserved. 00004 // This file is part of FirteX (www.firtex.org) 00005 // 00006 // Use of the FirteX is subject to the terms of the software license set forth in 00007 // the LICENSE file included with this software, and also available at 00008 // http://www.firtex.org/license.html 00009 // 00010 // Author : 郭瑞杰(GuoRuijie) 00011 // Email : ruijieguo@software.ict.ac.cn 00012 // Created : 2006/7/3 00013 // 00014 #ifndef _TERMFREQVECTOR_H 00015 #define _TERMFREQVECTOR_H 00016 00017 #include "../utility/StdHeader.h" 00018 #include "../utility/FXString.h" 00019 #include "../store/IndexOutput.h" 00020 #include "../store/IndexInput.h" 00021 #include "../document/Field.h" 00022 #include "Term.h" 00023 00024 #if _MSC_VER > 1000 00025 #pragma once 00026 #endif // _MSC_VER > 1000 00027 00028 using namespace firtex::utility; 00029 using namespace firtex::document; 00030 using namespace firtex::store; 00031 00032 namespace firtex 00033 { 00034 namespace index 00035 { 00036 class CTermFreqVector 00037 { 00038 public: 00039 00040 CTermFreqVector(void) 00041 { 00042 } 00043 CTermFreqVector(const tchar* field) : m_field(field) 00044 { 00045 } 00046 00047 virtual ~CTermFreqVector(void) 00048 { 00049 } 00050 public: 00056 virtual void open(const tchar* field,CIndexInput* pInput) = 0; 00060 virtual const tchar* getField(){return m_field.c_str();} 00061 00065 virtual count_t numTerms() = 0; 00066 00070 virtual count_t numDistinctTerms() = 0; 00071 00077 virtual const CTerm* getTerms() = 0; 00078 00084 virtual const termid_t* getTermIDs() = 0; 00085 00091 virtual const freq_t* getTermFrequencies() = 0; 00092 00096 virtual void getTermFreqVector(termid_t*& tids,freq_t*& freqs,count_t& size) = 0; 00097 00103 virtual int indexOf(termid_t tid) = 0; 00104 protected: 00110 virtual void addField(CIndexOutput* pOutput,CField* pField) = 0; 00111 protected: 00112 CFXString m_field; 00113 00114 friend class CTermVectorWriter; 00115 }; 00116 } 00117 } 00118 00119 #endif
http://www.firtex.org http://www.sourceforge.net/projects/firtex