Ignore:
Timestamp:
2001-01-15T12:56:57+13:00 (23 years ago)
Author:
kjm18
Message:

added support for equiv terms for highlighting. THe QueryResult.TermFreqData
has UCArrayVector equivTerms now.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gsdl/src/mgpp/text/MGQuery.cpp

    r1688 r1836  
    423423              bool needFragFreqs,
    424424              FragRangeArray *fragLimits,
    425               FragData &fragData) const {
     425              FragData &fragData,
     426              UCArrayVector &equivTerms) const {
    426427  fragData.Clear ();
     428  equivTerms.erase(equivTerms.begin(), equivTerms.end());
    427429
    428430  // get a list of term numbers
    429   vector<unsigned long> equivWords;
    430   FindWordNumbers (indexData, term, stemMethod, equivWords);
     431  vector<unsigned long> equivNums;
     432  FindWordNumbers (indexData, term, stemMethod, equivNums);
    431433
    432434  // get the information for each word and merge it with
     
    434436  FragData tempFragData1;
    435437  FragData tempFragData2;
    436   vector<unsigned long>::iterator here = equivWords.begin();
    437   vector<unsigned long>::iterator end = equivWords.end();
     438  UCArray equivWord;
     439  vector<unsigned long>::iterator here = equivNums.begin();
     440  vector<unsigned long>::iterator end = equivNums.end();
    438441  while (here != end) {
    439442    // get the information for this word
    440443    ReadTermFragData (indexData, needFragFreqs, *here,
    441               tempFragData1, fragLimits);
    442 
     444              tempFragData1, fragLimits, equivWord);
     445    equivTerms.push_back(equivWord);
    443446    // combine with last results
    444447    tempFragData2 = fragData;
     
    503506  // read in the first term
    504507  FragData termData;
     508  UCArrayVector equivTerms;
    505509  TermNodeArray::const_iterator termHere=terms.begin(), termEnd = terms.end();
    506510  if (termHere != termEnd) {
    507     (*termHere).Calculate (indexData, needFragFreqs, fragLimitsPtr, termData);
     511    (*termHere).Calculate (indexData, needFragFreqs, fragLimitsPtr,
     512               termData, equivTerms);
    508513
    509514    // convert initial fragment information
     
    515520            (*termHere).stemMethod,
    516521            (*termHere).termWeight,
     522            equivTerms,
    517523            result);
    518524 
     
    526532  while (termHere != termEnd) {
    527533    (*termHere).Calculate (indexData, needFragFreqs,
    528                fragLimitsPtr, comTermData);
     534               fragLimitsPtr, comTermData, equivTerms);
    529535
    530536    AndFragsToQueryResult (indexData,
     
    535541               (*termHere).stemMethod,
    536542               (*termHere).termWeight,
     543               equivTerms,
    537544               result);
    538545   
Note: See TracChangeset for help on using the changeset viewer.