Changeset 861
- Timestamp:
- 2000-01-19T12:24:19+13:00 (24 years ago)
- Location:
- trunk/gsdl/src/mgpp/text
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gsdl/src/mgpp/text/MGQuery.cpp
r855 r861 587 587 588 588 unsigned long resultsSize = queryInfo.maxDocs; 589 if (resultsSize == 0 || resultsSize > result. ranks.size())590 resultsSize = result. ranks.size();589 if (resultsSize == 0 || resultsSize > result.docs.size()) 590 resultsSize = result.docs.size(); 591 591 592 592 // sort results by rank if needed 593 LTRank ltRank;593 GTRank gtRank; 594 594 if (queryInfo.sortByRank) { 595 // need in ascending order for SelectAddHeap 595 596 MakeHeap (result.docs.begin(), result.ranks.begin(), 596 resultsSize, ltRank);597 resultsSize, gtRank); 597 598 SelectAddHeap (result.docs.begin(), result.ranks.begin(), resultsSize, 598 599 result.docs.begin()+resultsSize, 599 600 result.ranks.begin()+resultsSize, 600 result.ranks.size()-resultsSize, ltRank); 601 SortHeap (result.docs.begin(), result.ranks.begin(), resultsSize, ltRank); 601 result.ranks.size()-resultsSize, gtRank); 602 603 // sort into descending order 604 SortHeap (result.docs.begin(), result.ranks.begin(), resultsSize, gtRank); 602 605 } 603 606 … … 609 612 610 613 for (i=0; i<resultsSize; i++) { 611 result.ranks[i] = result.ranks[i] *614 result.ranks[i] = result.ranks[i] * 612 615 indexData.weightData.GetLowerApproxDocWeight (result.docs[i]) / 613 616 GetExactDocWeight (indexData.exactWeightsFile, exactDiskPtr, … … 618 621 if (queryInfo.sortByRank) { 619 622 MakeHeap (result.docs.begin(), result.ranks.begin(), 620 resultsSize, ltRank);623 resultsSize, gtRank); 621 624 SortHeap (result.docs.begin(), result.ranks.begin(), 622 resultsSize, ltRank);625 resultsSize, gtRank); 623 626 } 624 627 } 625 628 626 629 // get rid of unwanted ranking results 627 if (!result.ranks.empty() && !queryInfo.needRankInfo) { 630 if (result.ranks.empty()) { 631 // do nothing 632 } else if (!queryInfo.needRankInfo) { 628 633 result.ranks.erase(result.ranks.begin(), result.ranks.end()); 629 634 } else { -
trunk/gsdl/src/mgpp/text/Makefile.in
r860 r861 273 273 274 274 275 LIB_OBJS = Queryer$omg_files$o mg_errors$o locallib$o invf$o UCArray$o \275 LIB_OBJS = mg_files$o mg_errors$o locallib$o invf$o UCArray$o \ 276 276 FIvfLevelInfo$o FragLevelConvert$o Terms$o MGQuery$o \ 277 277 IndexData$o stemmer$o Weights$o TextGet$o text$o FText$o \ -
trunk/gsdl/src/mgpp/text/QueryResultsSort.h
r855 r861 104 104 105 105 unsigned long i = 0; 106 for (i= 0; i<size; i++)106 for (i=1; i<=size; i++) 107 107 PushHeap (docNumHeap, parallelHeap, i, comp); 108 108 } … … 132 132 unsigned long i; 133 133 for (i=0; i<addSize; i++) { 134 if (comp(*(parallel Heap), *(parallelAdd+i))) {134 if (comp(*(parallelAdd+i), *(parallelHeap))) { 135 135 swap (*(docNumHeap), *(docNumAdd+i)); 136 136 swap (*(parallelHeap), *(parallelAdd+i)); -
trunk/gsdl/src/mgpp/text/Queryer.cpp
r860 r861 75 75 QueryInfo queryInfo; 76 76 SetCStr (queryInfo.docLevel, "Document"); 77 queryInfo.maxDocs = 10 0000;77 queryInfo.maxDocs = 10; 78 78 queryInfo.sortByRank = true; 79 79 queryInfo.exactWeights = false; -
trunk/gsdl/src/mgpp/text/Weights.cpp
r855 r861 111 111 // decompress the weight 112 112 if (table != NULL) return table[c]; 113 elsereturn (L * pow (B, (double) c));113 return (L * pow (B, (double) c)); 114 114 } 115 115 -
trunk/gsdl/src/mgpp/text/mg_weights_build.cpp
r860 r861 48 48 /* 49 49 $Log$ 50 Revision 1.3 2000/01/18 23:24:19 rjmcnab 51 fixed a few more bugs 52 50 53 Revision 1.2 2000/01/18 03:53:24 rjmcnab 51 54 Fixed a couple of bugs and made building silent if needed. … … 242 245 while (here != end) { 243 246 // cout << *here << "\n"; 244 WriteF (weightsFile, *here);247 WriteF (weightsFile, sqrt (*here)); 245 248 here++; 246 249 }
Note:
See TracChangeset
for help on using the changeset viewer.