Logo Search packages:      
Sourcecode: qt4-x11 version File versions


* Copyright (C) 2003-2006 Ben van Klinken and the CLucene Team
* Distributable under the terms of either the Apache License (Version 2.0) or 
* the GNU Lesser General Public License, as specified in the COPYING file.
#ifndef _lucene_search_PhraseScorer_
#define _lucene_search_PhraseScorer_

#if defined(_LUCENE_PRAGMA_ONCE)
# pragma once

#include "PhraseQueue.h"
#include "PhrasePositions.h"
#include "Scorer.h"
#include "Similarity.h"


      class PhraseScorer: public Scorer {
            Weight* weight;
            float_t freq;
            bool firstTime;
            bool more;

            uint8_t* norms;
            float_t value;

            PhraseQueue* pq;        //is used to order the list point to by first and last
            PhrasePositions* first; //Points to the first in the list of PhrasePositions
            PhrasePositions* last;  //Points to the last in the list of PhrasePositions

            PhraseScorer(Weight* weight, CL_NS(index)::TermPositions** tps, 
            int32_t* positions, Similarity* similarity, uint8_t* norms);
            virtual ~PhraseScorer();

            int32_t doc() const { return first->doc; }
            bool next();
            float_t score();
            bool skipTo(int32_t target);

            void explain(int32_t doc, Explanation* ret);
            TCHAR* toString();
            virtual float_t phraseFreq() =0;

        //Transfers the PhrasePositions from the PhraseQueue pq to
        //the PhrasePositions list with first as its first element
            void pqToList();

            //Moves first to the end of the list
            void firstToLast();
            bool doNext();
            void init();
            void sort();

Generated by  Doxygen 1.6.0   Back to index