00001 #include "lux/index/inverted_index.h" 00002 #include "lux/index/doc_storage.h" 00003 #include "lux/index/attr_index.h" 00004 #include "lux/index/id_manager.h" 00005 00006 namespace Lux { 00007 00011 struct EngineImpl { 00016 explicit EngineImpl(Config::Document &doc_config) 00017 : ds(new LuxDocStorage(doc_config)), 00018 ai(new LuxAttrIndex(doc_config)), 00019 si(new InvertedIndex(doc_config)), 00020 im(new IDManager) 00021 {} 00025 LuxDocStorage *ds; 00029 LuxAttrIndex *ai; 00033 SearchIndex *si; 00037 IDManager *im; 00038 }; 00039 00040 }