FirteX-高性能全文索引和检索平台

API Documentation


首页 | 名字空间列表 | 类继承关系 | 组合类型列表 | $(BL\录(B | 文件列表 | 名字空间成员 | 组合类型成员 | 文件成员

MultiTermVectorReader.h

浏览该文件的文档。
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/2
00013 //
00014 #ifndef __MULTITERMVECTORREADER_H
00015 #define __MULTITERMVECTORREADER_H
00016 
00017 #if _MSC_VER > 1000
00018 #pragma once
00019 #endif // _MSC_VER > 1000
00020 
00021 #include "TermVectorReader.h"
00022 
00023 namespace firtex
00024 {
00025         namespace index
00026         {
00027                 class CTermVectorReaderEntry
00028                 {
00029                 public:
00030                         CTermVectorReaderEntry()
00031                         {
00032                                 docStart = numDocs = 0;
00033                                 reader = NULL;
00034                         }
00035                         ~CTermVectorReaderEntry(){}
00036                 protected:
00037                         docid_t                                 docStart;               //文档起始编号
00038                         count_t                                 numDocs;                //文档总数
00039                         CTermVectorReader*              reader;                 //term vector 对象
00040 
00041                         friend class CMultiTermVectorReader;
00042                 };
00043                 class CMultiTermVectorReader :  public CTermVectorReader
00044                 {
00045                 public:
00046                         CMultiTermVectorReader(int numReaders);
00047                         virtual ~CMultiTermVectorReader(void);
00048                 public:
00049 
00054                         virtual void            open(const tchar* barrelName){}
00055 
00059                         virtual void            close(){}
00060 
00064                         virtual TermVector_     getTermVectorType(const tchar* field);
00065 
00073                         virtual CTermFreqVector*                getFreqVector(docid_t did,const tchar* field);
00074 
00081                         virtual CTermVectorArray<CTermFreqVector*>*      getFreqVectors(docid_t did);
00082 
00090                         virtual CTermPositionVector*    getPositionVector(docid_t did,const tchar* field);
00091 
00098                         virtual CTermVectorArray<CTermPositionVector*>* getPositionVectors(docid_t did);
00099 
00107                         virtual CTermSequenceVector*    getSquenceVector(docid_t did,const tchar* field);
00108 
00115                         virtual CTermVectorArray<CTermSequenceVector*>* getSquenceVectors(docid_t did);
00116 
00117                 protected:
00118                         void    addVectorReader(int order,docid_t docStart,count_t numDocs,const CTermVectorReader* pReader);
00119                 private:
00120                         int                                                     m_numReaders;
00121                         CTermVectorReaderEntry*         m_ppReaders;
00122 
00123                         friend class CMultiIndexBarrelReader;
00124                 };
00125         }
00126 }
00127 
00128 #endif

http://www.firtex.org http://www.sourceforge.net/projects/firtex