예제 #1
0
 protected virtual bool SetFreqCurrentDoc()
 {
     if (!m_more)
     {
         return(false);
     }
     m_doc        = m_spans.Doc;
     m_freq       = 0.0f;
     m_numMatches = 0;
     do
     {
         int matchLength = m_spans.End - m_spans.Start;
         m_freq += m_docScorer.ComputeSlopFactor(matchLength);
         m_numMatches++;
         m_more = m_spans.Next();
     } while (m_more && (m_doc == m_spans.Doc));
     return(true);
 }
예제 #2
0
 protected internal virtual bool SetFreqCurrentDoc()
 {
     if (!More)
     {
         return(false);
     }
     Doc          = Spans.Doc();
     Freq_Renamed = 0.0f;
     NumMatches   = 0;
     do
     {
         int matchLength = Spans.End() - Spans.Start();
         Freq_Renamed += DocScorer.ComputeSlopFactor(matchLength);
         NumMatches++;
         More = Spans.Next();
     } while (More && (Doc == Spans.Doc()));
     return(true);
 }