equal
deleted
inserted
replaced
179 try |
179 try |
180 { |
180 { |
181 int32_t startOffset; |
181 int32_t startOffset; |
182 int32_t endOffset; |
182 int32_t endOffset; |
183 int32_t lastEndOffset = 0; |
183 int32_t lastEndOffset = 0; |
|
184 int32_t highlightedfrags = 0; |
184 _textFragmenter->start(text); |
185 _textFragmenter->start(text); |
185 TCHAR substringBuffer[LUCENE_MAX_WORD_LEN]; |
186 TCHAR substringBuffer[LUCENE_MAX_WORD_LEN]; |
186 |
187 |
187 TokenGroup* tokenGroup=_CLNEW TokenGroup(); |
188 TokenGroup* tokenGroup=_CLNEW TokenGroup(); |
188 |
189 |
221 _CLDELETE_CARRAY(markedUpText); |
222 _CLDELETE_CARRAY(markedUpText); |
222 |
223 |
223 //check if current token marks the start of a new fragment |
224 //check if current token marks the start of a new fragment |
224 if (_textFragmenter->isNewFragment(&token)) |
225 if (_textFragmenter->isNewFragment(&token)) |
225 { |
226 { |
226 currentFrag->setScore(_fragmentScorer->getFragmentScore()); |
227 float_t score = _fragmentScorer->getFragmentScore(); |
|
228 if(score > 0) highlightedfrags++; |
|
229 currentFrag->setScore(score); |
227 //record stats for a new fragment |
230 //record stats for a new fragment |
228 currentFrag->setTextEndPos( writeTo->length() ); |
231 currentFrag->setTextEndPos( writeTo->length() ); |
229 currentFrag =_CLNEW TextFragment(writeTo->length(), docFrags.size()); |
232 currentFrag =_CLNEW TextFragment(writeTo->length(), docFrags.size()); |
230 _fragmentScorer->startFragment(currentFrag); |
233 _fragmentScorer->startFragment(currentFrag); |
231 docFrags.push_back(currentFrag); |
234 docFrags.push_back(currentFrag); |
239 //_CLDELETE_CARRAY(highlightedTerm); |
242 //_CLDELETE_CARRAY(highlightedTerm); |
240 //_CLDELETE(token); |
243 //_CLDELETE(token); |
241 |
244 |
242 tokenGroup->addToken(&token,_fragmentScorer->getTokenScore(&token)); |
245 tokenGroup->addToken(&token,_fragmentScorer->getTokenScore(&token)); |
243 |
246 |
244 if(lastEndOffset>maxDocBytesToAnalyze) |
247 if(lastEndOffset>maxDocBytesToAnalyze || highlightedfrags>MAX_FRAGMENTS_TO_HIGHLIGHT) |
245 { |
248 { |
246 break; |
249 break; |
247 } |
250 } |
248 } |
251 } |
249 currentFrag->setScore(_fragmentScorer->getFragmentScore()); |
252 currentFrag->setScore(_fragmentScorer->getFragmentScore()); |