lux/api/searcher.h

00001 #ifndef LUX_API_SEARCHER_H
00002 #define LUX_API_SEARCHER_H
00003 
00004 #include "lux/lux.h"
00005 #include "result.h"
00006 #include "engine.h"
00007 #include "lux/index/index_result.h"
00008 #include <string>
00009 
00010 namespace Lux {
00011   
00012   class Condition;
00013   class DocumentDefinition;
00014 
00018   class Searcher {
00019 
00020   public:
00025     Searcher(Engine &engine);
00029     ~Searcher(); 
00034     void set_sys_cond(sys_cond_t sys_cond);
00040     ResultSet search(const char *query, Condition &cond);
00046     ResultSet search(const std::string &query, Condition &cond);
00051     IndexResultSet search_by_server(const char *query, Condition &cond);
00056     IndexResultSet search_by_server(const std::string &query, Condition &cond);
00061     std::string getdoc_by_server(doc_id_t doc_id);
00065     void clear_attrs(IndexResultSet &irs, Condition &cond);
00066 
00067   private:
00068     Engine engine_;
00069 
00070     IndexResultSet search_index(const std::string &query);
00071     void set_attrs(IndexResultSet &irs, Condition &cond);
00072   };
00073 }
00074 
00075 #endif

Generated on Fri Feb 5 15:50:30 2010 for Lux by  doxygen 1.4.7