- Timestamp:
- 2013-03-14T12:46:15+13:00 (11 years ago)
- Location:
- main/trunk/greenstone2/runtime-src/src/colservr
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone2/runtime-src/src/colservr/fieldedqueryfilter.h
r27064 r27084 1 1 /********************************************************************** 2 2 * 3 * queryfilter.h -- abstract base class for fielded queryfilters3 * fieldedqueryfilter.h -- abstract base class for fielded queryfilters 4 4 * mgppqueryfilter and lucenequeryfilter 5 5 * implement this … … 42 42 bool full_text_browse (int filterRequestOptions); 43 43 44 // do query that might involve multiple sub queries45 // textsearchptr and db_ptr are assumed to be valid46 virtual void do_multi_query (const FilterRequest_t &request,47 const vector<queryparamclass> &query_params,48 queryresultsclass &multiresults,49 comerror_t &err, ostream &logout)=0;50 51 44 public: 52 45 fieldedqueryfilterclass (); 53 46 virtual ~fieldedqueryfilterclass (); 54 47 55 void configure (const text_t &key, const text_tarray &cfgline); 56 bool init (ostream &logout); 57 58 void filter (const FilterRequest_t &request, 59 FilterResponse_t &response, 60 comerror_t &err, ostream &logout)=0; 61 62 void browsefilter(const FilterRequest_t &request, 63 FilterResponse_t &response, 64 comerror_t &err, ostream &logout); 65 48 virtual void configure (const text_t &key, const text_tarray &cfgline); 49 virtual bool init (ostream &logout); 66 50 67 51 }; -
main/trunk/greenstone2/runtime-src/src/colservr/lucenequeryfilter.cpp
r27064 r27084 109 109 } 110 110 111 bool lucenequeryfilterclass::set_queryparam_field(const OptionValue_t &option, queryparamclass &query) { 112 113 if (option.name == "FilterString") { 114 query.filterstring = option.value; 115 return true; 116 } 117 if (option.name == "SortField") { 118 query.sortfield = option.value; 119 return true; 120 } 121 if (option.name == "SortOrder") { 122 query.sortorder = (option.value == "descending"); 123 return true; 124 } 125 if (option.name == "Fuzziness") { 126 query.fuzziness = option.value; 127 return true; 128 } 129 return fieldedqueryfilterclass::set_queryparam_field(option, query); 130 } 111 131 112 132 void lucenequeryfilterclass::filter(const FilterRequest_t &request, -
main/trunk/greenstone2/runtime-src/src/colservr/lucenequeryfilter.h
r27064 r27084 43 43 44 44 void set_queryparam_defaults(queryparamclass &query ); 45 bool set_queryparam_field(const OptionValue_t &option, queryparamclass &query); 45 46 46 47 public: -
main/trunk/greenstone2/runtime-src/src/colservr/queryfilter.cpp
r27064 r27084 264 264 265 265 void queryfilterclass::set_queryparam_defaults(queryparamclass &query ) { 266 266 267 267 query.collection = collection; 268 268 query.index = filterOptions["Index"].defaultValue; … … 281 281 } 282 282 283 bool queryfilterclass::set_queryparam_field(OptionValue_t option, queryparamclass &query) { 284 285 if (option.name == "QueryType") { 286 query.search_type = (option.value == "ranked"); 287 } else if (option.name == "MatchMode") { 288 query.match_mode = (option.value == "all"); 289 if (query.match_mode == 1) query.maxdocs = -1; 290 } else if (option.name == "Term") { 291 query.querystring = option.value; 292 } else if (option.name == "Casefold") { 293 query.casefolding = (option.value == "true"); 294 } else if (option.name == "Stem") { 295 query.stemming = (option.value == "true"); 296 } else if (option.name == "AccentFold") { 297 query.accentfolding = (option.value == "true"); 298 } else if (option.name == "Index"&& option.value !="") { 299 query.index = option.value; 300 } else if (option.name == "Subcollection") { 301 query.subcollection = option.value; 302 } else if (option.name == "Language") { 303 query.language = option.value; 304 } else if (option.name == "Maxdocs") { 305 query.maxdocs = option.value.getint(); 306 // } else if (option.name == "PhraseMatch") { 307 // phrasematch = option.value; 308 } else if (option.name == "Level") { 309 query.level = option.value; 310 } else if (option.name == "FilterString") { 311 query.filterstring = option.value; 312 } else if (option.name == "SortField") { 313 query.sortfield = option.value; 314 } else if (option.name == "SortOrder") { 315 query.sortorder = (option.value == "descending"); 316 } else if (option.name == "Fuzziness") { 317 query.fuzziness = option.value; 318 } 283 bool queryfilterclass::set_queryparam_field(const OptionValue_t &option, queryparamclass &query) { 284 285 if (option.name == "QueryType") { 286 query.search_type = (option.value == "ranked"); 287 return true; 288 } 289 if (option.name == "MatchMode") { 290 query.match_mode = (option.value == "all"); 291 if (query.match_mode == 1) query.maxdocs = -1; 292 return true; 293 } 294 if (option.name == "Term") { 295 query.querystring = option.value; 296 return true; 297 } 298 if (option.name == "Casefold") { 299 query.casefolding = (option.value == "true"); 300 return true; 301 } 302 if (option.name == "Stem") { 303 query.stemming = (option.value == "true"); 304 return true; 305 } 306 if (option.name == "AccentFold") { 307 query.accentfolding = (option.value == "true"); 308 return true; 309 } 310 if (option.name == "Index"&& option.value !="") { 311 query.index = option.value; 312 return true; 313 } 314 if (option.name == "Subcollection") { 315 query.subcollection = option.value; 316 return true; 317 } 318 if (option.name == "Language") { 319 query.language = option.value; 320 return true; 321 } 322 if (option.name == "Maxdocs") { 323 query.maxdocs = option.value.getint(); 324 return true; 325 } 326 if (option.name == "Level") { 327 query.level = option.value; 328 return true; 329 } 330 331 return false; 319 332 } 320 333 // get the query parameters … … 324 337 ostream &logout) { 325 338 outconvertclass text_t2ascii; 326 327 339 // set defaults for the return parameters 328 340 query_params.erase(query_params.begin(), query_params.end()); -
main/trunk/greenstone2/runtime-src/src/colservr/queryfilter.h
r27064 r27084 56 56 int maxnumeric; 57 57 58 v oid set_queryparam_defaults(queryparamclass &query );59 bool set_queryparam_field(OptionValue_toption, queryparamclass &query);60 v oid parse_query_params (const FilterRequest_t &request,58 virtual void set_queryparam_defaults(queryparamclass &query ); 59 virtual bool set_queryparam_field(const OptionValue_t &option, queryparamclass &query); 60 virtual void parse_query_params (const FilterRequest_t &request, 61 61 vector<queryparamclass> &query_params, 62 62 int &startresults, int &endresults,
Note:
See TracChangeset
for help on using the changeset viewer.