Ignore:
Timestamp:
1999-07-07T18:13:10+12:00 (25 years ago)
Author:
rjmcnab
Message:

Added ability to combine two independant queries.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gsdl/src/recpt/queryaction.cpp

    r347 r349  
    1212/*
    1313   $Log$
     14   Revision 1.11  1999/07/07 06:13:10  rjmcnab
     15   Added ability to combine two independant queries.
     16
    1417   Revision 1.10  1999/07/07 05:49:35  sjboddie
    1518   had another crack at the format string code - created a new formattools
     
    8184  argsinfo.addarginfo (NULL, arg_ainfo);
    8285
     86  // "h2"
     87  arg_ainfo.shortname = "h2";
     88  arg_ainfo.longname = "main index for second query";
     89  arg_ainfo.multiplechar = true;
     90  arg_ainfo.defaultstatus = cgiarginfo::weak;
     91  arg_ainfo.argdefault = "";
     92  arg_ainfo.savedarginfo = cgiarginfo::must;
     93  argsinfo.addarginfo (NULL, arg_ainfo);
     94
    8395  // "j"
    8496  arg_ainfo.shortname = "j";
     
    90102  argsinfo.addarginfo (NULL, arg_ainfo);
    91103
     104  // "j2"
     105  arg_ainfo.shortname = "j2";
     106  arg_ainfo.longname = "sub collection index for second query";
     107  arg_ainfo.multiplechar = true;
     108  arg_ainfo.defaultstatus = cgiarginfo::weak;
     109  arg_ainfo.argdefault = "";
     110  arg_ainfo.savedarginfo = cgiarginfo::must;
     111  argsinfo.addarginfo (NULL, arg_ainfo);
     112
    92113  // "n"
    93114  arg_ainfo.shortname = "n";
     
    99120  argsinfo.addarginfo (NULL, arg_ainfo);
    100121
     122  // "n2"
     123  arg_ainfo.shortname = "n2";
     124  arg_ainfo.longname = "language index for second query";
     125  arg_ainfo.multiplechar = true;
     126  arg_ainfo.defaultstatus = cgiarginfo::weak;
     127  arg_ainfo.argdefault = "";
     128  arg_ainfo.savedarginfo = cgiarginfo::must;
     129  argsinfo.addarginfo (NULL, arg_ainfo);
     130
    101131  // "q"
    102132  arg_ainfo.shortname = "q";
    103133  arg_ainfo.longname = "query string";
     134  arg_ainfo.multiplechar = true;
     135  arg_ainfo.defaultstatus = cgiarginfo::weak;
     136  arg_ainfo.argdefault = "";
     137  arg_ainfo.savedarginfo = cgiarginfo::must;
     138  argsinfo.addarginfo (NULL, arg_ainfo);
     139
     140  // "q2"
     141  arg_ainfo.shortname = "q2";
     142  arg_ainfo.longname = "query string for second query";
     143  arg_ainfo.multiplechar = true;
     144  arg_ainfo.defaultstatus = cgiarginfo::weak;
     145  arg_ainfo.argdefault = "";
     146  arg_ainfo.savedarginfo = cgiarginfo::must;
     147  argsinfo.addarginfo (NULL, arg_ainfo);
     148
     149  // "cq2"
     150  arg_ainfo.shortname = "cq2";
     151  arg_ainfo.longname = "combine queries";
    104152  arg_ainfo.multiplechar = true;
    105153  arg_ainfo.defaultstatus = cgiarginfo::weak;
     
    370418    while (this_doc != end_doc) {
    371419      textout << outconvert << disp << "<tr>\n"
     420
     421//            << "<td valign=top nowrap>r: " << (*this_doc).ranking
     422//            << " t: " << (*this_doc).num_terms_matched << " p: "
     423//            << (*this_doc).num_phrase_match << "</td>\n"
     424   
    372425          << get_formatted_string (*this_doc, formatlistptr) << "\n"
    373426          << "</tr>\n";
     
    377430
    378431    delete (formatlistptr);
    379    
     432
    380433    // output the footer
    381434    textout << outconvert << disp << "_query:footer_";
    382435  }
     436 
    383437  return true;
    384438}
     
    394448  int numdocs = response.numDocs;
    395449  int arg_m = args.getintarg("m");
    396   if (numdocs > arg_m)
    397     numdocs = arg_m;
     450  if (numdocs > arg_m) numdocs = arg_m;
    398451
    399452  // set up _freqmsg_ and _quotedquery_ macros
     
    419472  // than MAXDOCS numDocs can be greater than arg_m while
    420473  // isApprox is false.
    421   if (response.numDocs > numdocs ||
    422       ((response.numDocs == numdocs) && response.isApprox))
    423     resline = "_textmorethan_";
     474  if (response.isApprox) resline = "_textapprox_";
    424475  if (numdocs == 0) resline = "_textnodocs_";
    425476  else if (numdocs == 1) resline += "_text1doc_";
    426   else resline += text_t(numdocs) + " _textlotsdocs_";
     477  else resline += text_t(response.numDocs) + " _textlotsdocs_";
    427478
    428479  disp.setmacro("resultline", "query", resline);
Note: See TracChangeset for help on using the changeset viewer.