CLucene - a full-featured, c++ search engine
API Documentation
00001 /*------------------------------------------------------------------------------ 00002 * Copyright (C) 2003-2006 Ben van Klinken and the CLucene Team 00003 * 00004 * Distributable under the terms of either the Apache License (Version 2.0) or 00005 * the GNU Lesser General Public License, as specified in the COPYING file. 00006 ------------------------------------------------------------------------------*/ 00007 #ifndef _lucene_search_QueryFilter_ 00008 #define _lucene_search_QueryFilter_ 00009 00010 #include "CLucene/util/BitSet.h" 00011 #include "CLucene/index/IndexReader.h" 00012 #include "SearchHeader.h" 00013 #include "CachingWrapperFilter.h" 00014 00015 CL_NS_DEF(search) 00016 00017 class QueryFilter: public Filter 00018 { 00019 private: 00020 Query* query; 00021 00022 class QFHitCollector: public HitCollector{ 00023 CL_NS(util)::BitSet* bits; 00024 public: 00025 QFHitCollector(CL_NS(util)::BitSet* bits); 00026 void collect(const int32_t doc, const float_t score); 00027 }; 00028 00029 protected: 00030 QueryFilter( const QueryFilter& copy ); 00031 public: 00032 QueryFilter( const Query* query ); 00033 00034 ~QueryFilter(); 00035 00036 CL_NS(util)::BitSet* bits( CL_NS(index)::IndexReader* reader ); 00037 00038 Filter *clone() const; 00039 00040 TCHAR *toString(); 00041 }; 00042 00043 CL_NS_END 00044 #endif