Changeset 12419
- Timestamp:
- 2006-08-09T10:46:45+12:00 (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gsdl/src/colservr/lucenesearch.cpp
r12410 r12419 199 199 return true; 200 200 } 201 /*202 // use default query info settings - change to reflect user preferences??203 QueryInfo queryInfo;204 205 SetCStr (queryInfo.docLevel, (queryparams.level.getcstr()));206 queryInfo.maxDocs = (unsigned long)queryparams.maxdocs;207 queryInfo.sortByRank = (queryparams.search_type == 1);208 queryInfo.exactWeights = false;209 queryInfo.needRankInfo = true; // used for overall term freq as well as ranking210 queryInfo.needTermFreqs = true;211 212 ExtQueryResult queryResult;213 214 UCArray queryArray;215 // greenstone gives us the query encoded in unicode. We want utf8.216 char* utf8querystring=to_utf8(queryparams.querystring).getcstr();217 SetCStr(queryArray, utf8querystring);218 delete utf8querystring;219 220 UCArray level;221 UCArrayClear(level);222 223 //set the level for results224 SetCStr(level, gdbm_level.getcstr());225 226 227 // do the query228 // LuceneQuery(*indexData, queryInfo, queryTree, queryResult, level); // ****229 230 231 // convert ExtQueryResult to queryresultclass232 233 queryresult.docs_matched = (int)queryResult.docs.size();234 235 if (queryresult.docs_matched == (int)queryResult.actualNumDocs) {236 queryresult.is_approx = Exact;237 }238 else if (queryresult.docs_matched < (int)queryResult.actualNumDocs) {239 queryresult.is_approx = MoreThan;240 }241 else {242 queryresult.is_approx = Approximate;243 }244 245 docresultclass doc;246 for (int i=0; i<(int)queryResult.docs.size(); ++i) {247 doc.clear();248 doc.docnum = (int)queryResult.levels[i];249 doc.docweight = queryResult.ranks[i];250 queryresult.docs.docset[doc.docnum] = doc;251 queryresult.docs.docorder.push_back(doc.docnum);252 253 }254 255 // term info256 termfreqclass term;257 for (int k=0; k<(int)queryResult.termFreqs.size(); ++k) {258 term.clear();259 char* termfreq_cstr=GetCStr(queryResult.termFreqs[k].term);260 term.termstr = to_uni(termfreq_cstr);261 delete termfreq_cstr;262 term.termstemstr = term.termstr;263 // we don't set term.utf8equivterms ?? - jrm21264 term.termfreq = queryResult.termFreqs[k].termFreq;265 queryresult.terms.push_back(term);266 queryresult.orgterms.push_back(term); // should this change??267 268 for (int j=0; j<(int)queryResult.termFreqs[k].equivTerms.size(); ++j) {269 char* equivterm_cstr=GetCStr(queryResult.termFreqs[k].equivTerms[j]);270 queryresult.termvariants.insert(to_uni(equivterm_cstr));271 delete equivterm_cstr;272 }273 274 }275 // clean up276 delete indexname;277 return true;278 */279 201 280 202 … … 284 206 285 207 cerr << "**** Not sure what this function does!" << endl; 286 287 /*288 #ifdef __WIN32__289 char basepath[]="";290 #else291 char basepath[] = "/";292 #endif293 294 char *indexname = (filename_cat(collectdir, getindexsuffix(queryparams))).getcstr();295 296 UCArray level;297 UCArrayClear(level);298 299 //browse always at top level300 SetCStr(level, "Doc"); // this name may change.301 302 303 BrowseQueryNode browseNode;304 browseNode.startPosition = start;305 browseNode.numTerms = numDocs;306 307 BrowseQueryResult browseResult;308 309 310 UCArrayClear(browseNode.term);311 // greenstone gives us the query encoded in unicode. We want utf8.312 char* utf8querystring=to_utf8(queryparams.querystring).getcstr();313 SetCStr(browseNode.term, utf8querystring);314 delete utf8querystring;315 316 // do the actual query317 // LuceneBrowseQuery(*indexData, level, browseNode, browseResult); // ****318 319 // load results into term info320 termfreqclass term;321 for (int i=0; i<(int)browseResult.termFreqs.size(); ++i) {322 term.clear();323 char* term_cstr = GetCStr(browseResult.termFreqs[i].term);324 term.termstr = to_uni(term_cstr);325 delete term_cstr;326 term.termstemstr = term.termstr;327 term.termfreq = browseResult.termFreqs[i].termFreq;328 queryresult.terms.push_back(term);329 queryresult.orgterms.push_back(term);330 331 }332 // clean up333 delete indexname;334 335 return true;336 337 */338 339 208 return false; 340 209 }
Note:
See TracChangeset
for help on using the changeset viewer.