Add README
[xapian-trec.git] / config_file.h
blob981893a018f28ff80e25d249cf0c3e2555271a7d
1 /* config_file.h: configuration class for trec experiments
3 * ----START-LICENCE----
4 * Copyright 2003 Andy MacFarlane, City University
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License as
8 * published by the Free Software Foundation; either version 2 of the
9 * License, or (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
19 * USA
20 * -----END-LICENCE-----
23 #ifndef _CONFIG_H_
24 #define _CONFIG_H_
26 #include <string>
27 using namespace std;
29 class CONFIG_TREC {
31 private:
33 // aspects of TREC config experiments
34 string textfile; // path/filename of text file
35 string language; // corpus language
36 string db; // path of database
37 string querytype; // type of query
38 string queryfile; // path/filename of query file
39 string resultsfile; // path/filename of results file
40 string transfile; // path/filename of transaction file
41 int noresults; // no of results to save in results log file
42 float const_k1; // value for K1 constant (BM25)
43 float const_b; // value for B constant (BM25)
44 string topicfile; // path/filename of topic file
45 string topicfields; // fields of topic to use from topic file
46 string relfile; // path/filename of relevance judgements file
47 string runname; // name of the run
48 int nterms; // no of terms to pick from the topic
49 string stopsfile; // name of the stopword file
51 // private access routines
52 void record_tag( string config_tag, string config_value );
54 public:
56 // base constructor
57 //CONFIG_TREC();
59 // setup routines
60 void setup_config( string filename );
62 // validation routines
63 int check_query_config();
64 int check_index_config();
65 int check_search_config();
67 // access routines
68 string get_textfile() { return textfile; }
69 string get_language() { return language; }
70 string get_db() { return db; }
71 string get_querytype() { return querytype; }
72 string get_queryfile() { return queryfile; }
73 string get_resultsfile() { return resultsfile; }
74 string get_transfile() { return transfile; }
75 int get_noresults() { return noresults; }
76 float get_const_k1() { return const_k1; }
77 float get_const_b() { return const_b; }
78 string get_topicfile() { return topicfile; }
79 string get_topicfields() { return topicfields; }
80 string get_relfile() { return relfile; }
81 string get_runname() { return runname; }
82 int get_nterms() { return nterms; }
83 string get_stopsfile() { return stopsfile; }
85 }; // END class CONFIG
87 #endif