/********************************************************************** * * queryinfo.h -- * Copyright (C) 1999 The New Zealand Digital Library Project * * PUT COPYRIGHT NOTICE HERE * * $Id: queryinfo.h 114 1999-01-19 01:38:20Z rjmcnab $ * *********************************************************************/ #ifndef QUERYINFO_H #define QUERYINFO_H #include "gsdlconf.h" #include "text_t.h" #if defined(GSDL_USE_OBJECTSPACE) # include # include #elif defined(GSDL_USE_STL_H) # include # if defined(GSDL_USE_ALGO_H) # include # else # include # endif #else # include # include #endif // query parameters class queryparamclass { public: text_t collection; text_t search_index; text_t querystring; int search_type; // 0 = boolean, 1 = ranked int casefolding; int stemming; int maxdocs; queryparamclass &operator=(const queryparamclass &q); }; bool operator==(const queryparamclass &x, const queryparamclass &y); bool operator!=(const queryparamclass &x, const queryparamclass &y); // stream output for debugging purposes ostream &operator<< (ostream &outs, queryparamclass &q); // term frequencies class termfreqclass { public: text_t termstr; unsigned int termfreq; termfreqclass &operator=(const termfreqclass &t); }; bool operator==(const termfreqclass &x, const termfreqclass &y); bool operator!=(const termfreqclass &x, const termfreqclass &y); bool operator<(const termfreqclass &x, const termfreqclass &y); bool operator>(const termfreqclass &x, const termfreqclass &y); // stream output for debugging purposes ostream &operator<< (ostream &outs, termfreqclass &q); // one query result class docresultclass { public: docresultclass(void) {docnum=-1;docweight=0.0;}; ~docresultclass(void) {}; int docnum; float docweight; }; // stream output for debugging purposes ostream &operator<< (ostream &outs, docresultclass &a); // query results class queryresultsclass { public: vector docs; vector terms; vector termvariants; void clear (); queryresultsclass &operator=(const queryresultsclass &q); int getnumdocs () {return docs.size();} int getnumterms () {return terms.size();} void sortqueryterms(); void uniqqueryterms(); }; // stream output for debugging purposes ostream &operator<< (ostream &outs, queryresultsclass &q); #endif