Lucene++ - a full-featured, c++ search engine
API Documentation


Loading...
Searching...
No Matches
PhraseScorer.h
Go to the documentation of this file.
1
2// Copyright (c) 2009-2014 Alan Wright. All rights reserved.
3// Distributable under the terms of either the Apache License (Version 2.0)
4// or the GNU Lesser General Public License.
6
7#ifndef PHRASESCORER_H
8#define PHRASESCORER_H
9
10#include "Scorer.h"
11#include <vector>
12
13namespace Lucene {
14
22class PhraseScorer : public Scorer {
23public:
25 virtual ~PhraseScorer();
26
28
29protected:
31 Weight* __weight = nullptr;
32 ByteArray norms;
33 double value;
34
36 bool more;
38 std::vector<PhrasePositionsPtr> _holds;
41
42 double freq; // phrase frequency in current doc as computed by phraseFreq().
43
44public:
45 virtual int32_t docID();
46 virtual int32_t nextDoc();
47 virtual double score();
48 virtual int32_t advance(int32_t target);
49
51 double currentFreq();
52 virtual float termFreq(){
53 return currentFreq();
54 }
55
56 virtual String toString();
57
58protected:
60 bool doNext();
61
67 virtual double phraseFreq() = 0;
68
69 void init();
70 void sort();
71 void pqToList();
73};
74
75}
76
77#endif
#define LUCENE_CLASS(Name)
Definition LuceneObject.h:24
Utility template class to handle collections that can be safely copied and shared.
Definition Collection.h:17
Position of a term in a document that takes into account the term offset within the phrase.
Definition PhrasePositions.h:15
Scoring functionality for phrase queries. A document is considered matching if it contains the phrase...
Definition PhraseScorer.h:22
virtual float termFreq()
Definition PhraseScorer.h:52
ByteArray norms
Definition PhraseScorer.h:32
Weight * __weight
Definition PhraseScorer.h:31
WeightPtr weight
Definition PhraseScorer.h:30
virtual int32_t docID()
Returns the following:
PhraseQueuePtr pq
Definition PhraseScorer.h:37
virtual double phraseFreq()=0
For a document containing all the phrase query terms, compute the frequency of the phrase in that doc...
double currentFreq()
Phrase frequency in current doc as computed by phraseFreq().
PhrasePositions * __last
Definition PhraseScorer.h:40
std::vector< PhrasePositionsPtr > _holds
Definition PhraseScorer.h:38
virtual double score()
Returns the score of the current document matching the query. Initially invalid, until nextDoc() or a...
virtual int32_t nextDoc()
Advances to the next document in the set and returns the doc it is currently on, or NO_MORE_DOCS if t...
bool firstTime
Definition PhraseScorer.h:35
PhraseScorer(const WeightPtr &weight, Collection< TermPositionsPtr > tps, Collection< int32_t > offsets, const SimilarityPtr &similarity, ByteArray norms)
bool doNext()
Next without initial increment.
bool more
Definition PhraseScorer.h:36
double value
Definition PhraseScorer.h:33
PhrasePositions * __first
Definition PhraseScorer.h:39
double freq
Definition PhraseScorer.h:42
virtual String toString()
Returns a string representation of the object.
virtual int32_t advance(int32_t target)
Advances to the first beyond the current whose document number is greater than or equal to target....
Common scoring functionality for different types of queries.
Definition Scorer.h:33
SimilarityPtr similarity
Definition Scorer.h:45
Calculate query weights and build query scorers.
Definition Weight.h:30
Definition AbstractAllTermDocs.h:12
boost::shared_ptr< Similarity > SimilarityPtr
Definition LuceneTypes.h:435
boost::shared_ptr< PhraseQueue > PhraseQueuePtr
Definition LuceneTypes.h:412
boost::shared_ptr< Weight > WeightPtr
Definition LuceneTypes.h:480

clucene.sourceforge.net