Changeset 1300 for trunk/gsdl/src/mgpp/text/Terms.cpp
- Timestamp:
- 2000-07-24T14:46:11+12:00 (24 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gsdl/src/mgpp/text/Terms.cpp
r1124 r1300 143 143 (r1.termFreqs == r2.termFreqs)); 144 144 } 145 146 //------------------------------------------------------- 147 // new BrowseQueryResult stuff 148 void BrowseQueryResult::Clear () { 149 termFreqs.erase (termFreqs.begin(), termFreqs.end()); 150 } 151 152 BrowseQueryResult::BrowseQueryResult () { 153 Clear (); 154 } 155 156 157 158 ostream &operator<< (ostream &s, const BrowseQueryResult &r) { 159 s << "terms: "; 160 unsigned long i; 161 for (i=0; i<r.termFreqs.size(); i++) 162 s << r.termFreqs[i] << ", "; 163 s << "\n\n"; 164 return s; 165 } 166 167 168 bool operator== (const BrowseQueryResult &r1, const BrowseQueryResult &r2) { 169 return ((r1.termFreqs == r2.termFreqs)); 170 171 } 172 173 174 145 175 146 176 //-------------------------------------- … … 668 698 result.ranks.erase (result.ranks.begin(), result.ranks.end()); 669 699 } 700 701 702 703 //-------------------------------------------------------------- 704 // functions to support full text browse 705 706 void FindNearestWordNumber (IndexData &indexData, 707 const UCArray &term, 708 unsigned long &number) { 709 710 // find the word number for this term 711 unsigned long wordElNum = 0; 712 unsigned long numLevels = indexData.bdh.num_levels; 713 word_block_dict_el wordDictEl; 714 wordDictEl.SetNumLevels (numLevels); 715 if (NearestSearchWordBlockDictEl (indexData.dictFile, indexData.biWords, 716 indexData.bdh.entries_per_wblk, 717 indexData.bdh.word_dict_size, 718 numLevels, term, wordDictEl, wordElNum)) 719 number = wordElNum; 720 721 } 722 723 void GetTermList(IndexData &indexData, 724 unsigned long startTerm, 725 unsigned long numTerms, 726 TermFreqArray &terms) { 727 728 word_block_dict_el_array wordBlocks; // = new word_block_dict_el_array(); 729 TermFreqData termdata; 730 731 terms.erase(terms.begin(), terms.end()); 732 733 SearchWordBlockDictElNumRange (indexData.dictFile, indexData.biWords, 734 indexData.bdh.entries_per_wblk, 735 indexData.bdh.word_dict_size, 736 indexData.bdh.num_levels, startTerm, 737 numTerms, wordBlocks); 738 739 word_block_dict_el_array::iterator here = wordBlocks.begin(); 740 word_block_dict_el_array::iterator end = wordBlocks.end(); 741 742 while (here != end) { 743 termdata.Clear(); 744 termdata.term = (*here).el; 745 termdata.termFreq = (*here).freq; 746 terms.push_back(termdata); 747 here++; 748 } 749 750 } 751 752 void GetTermList(IndexData &indexData, 753 unsigned long startTerm, 754 unsigned long numTerms, 755 UCArrayVector &terms) { 756 757 758 759 SearchWordBlockDictElNumRange (indexData.dictFile, indexData.biWords, 760 indexData.bdh.entries_per_wblk, 761 indexData.bdh.word_dict_size, 762 indexData.bdh.num_levels, startTerm, 763 numTerms, terms); 764 765 } 766 767 768
Note:
See TracChangeset
for help on using the changeset viewer.