00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef _RETMETHODMANAGER_HPP
00013 #define _RETMETHODMANAGER_HPP
00014
00015 #include "RetParamManager.hpp"
00016 #include "TextHandlerManager.hpp"
00017 #include "InQueryOpParser.hpp"
00018 #include "StringQuery.hpp"
00019
00020 class RetMethodManager {
00021 public:
00022 enum RetModel {UNKNOWN=-1, TFIDF=0, OKAPI=1, KL=2, INQUERY=3,CORI_CS=4,COS=5, INQ_STRUCT=6, INDRI=7};
00023
00025 static RetrievalMethod* createModel(const Index* ind, ArrayAccumulator* accum, RetModel type);
00026
00028 static RetrievalMethod* createModel(const Index* ind, ArrayAccumulator* accum, string type = "");
00029
00035 static IndexedRealVector* runQuery(const string& query, const Index* index, const string& modeltype, const string& stopfile="", const string& stemtype="", const string& datadir="", const string& func="");
00036
00041 static IndexedRealVector* runTextQuery(const string& query, TextQueryRetMethod* model, const string& stopfile="", const string& stemtype="", const string& datadir="", const string& func="");
00042
00047 static IndexedRealVector* runStructQuery(const string& query, StructQueryRetMethod* model, const string& stopfile="", const string& stemtype="", const string& datadir="", const string& func="");
00048
00049
00050 };
00051
00052 #endif