#ifndef INDEX_SEARCHER_HDR #define INDEX_SEARCHER_HDR #include #include #include #include #include "concordia/common/config.hpp" #include "concordia/substring_occurence.hpp" #include "concordia/hash_generator.hpp" #include "concordia/concordia_exception.hpp" #include "concordia/concordia_searcher.hpp" #include "concordia/anubis_search_result.hpp" #include /*! Class for searching the index with a sentence. */ class IndexSearcher { public: explicit IndexSearcher(); /*! Destructor. */ virtual ~IndexSearcher(); std::vector simpleSearch( boost::shared_ptr hashGenerator, boost::shared_ptr > T, boost::shared_ptr > markers, boost::shared_ptr > SA, const std::string & pattern) throw(ConcordiaException); std::vector anubisSearch( boost::shared_ptr config, boost::shared_ptr hashGenerator, boost::shared_ptr > T, boost::shared_ptr > markers, boost::shared_ptr > SA, const std::string & pattern) throw(ConcordiaException); boost::shared_ptr concordiaSearch( boost::shared_ptr hashGenerator, boost::shared_ptr > T, boost::shared_ptr > markers, boost::shared_ptr > SA, const std::string & pattern) throw(ConcordiaException); private: boost::shared_ptr _concordiaSearcher; }; #endif