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


Loading...
Searching...
No Matches
PayloadNearQuery.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 PAYLOADNEARQUERY_H
8#define PAYLOADNEARQUERY_H
9
10#include "SpanNearQuery.h"
11#include "SpanWeight.h"
12#include "SpanScorer.h"
13
14namespace Lucene {
15
25class LPPAPI PayloadNearQuery : public SpanNearQuery {
26public:
27 PayloadNearQuery(Collection<SpanQueryPtr> clauses, int32_t slop, bool inOrder);
28 PayloadNearQuery(Collection<SpanQueryPtr> clauses, int32_t slop, bool inOrder, const PayloadFunctionPtr& function);
29
31
33
34protected:
35 String fieldName;
37
38public:
39 using SpanNearQuery::toString;
40
41 virtual WeightPtr createWeight(const SearcherPtr& searcher);
42
44 virtual String toString(const String& field);
45 virtual bool equals(const LuceneObjectPtr& other);
46 virtual int32_t hashCode();
47
50};
51
52class LPPAPI PayloadNearSpanWeight : public SpanWeight {
53public:
54 PayloadNearSpanWeight(const SpanQueryPtr& query, const SearcherPtr& searcher);
56
58
59public:
60 virtual ScorerPtr scorer(const IndexReaderPtr& reader, bool scoreDocsInOrder, bool topScorer);
61};
62
63class LPPAPI PayloadNearSpanScorer : public SpanScorer {
64public:
65 PayloadNearSpanScorer(const SpansPtr& spans, const WeightPtr& weight, const SimilarityPtr& similarity, ByteArray norms);
67
69
70public:
73
74protected:
76 int32_t payloadsSeen;
77
78public:
81
82 virtual double score();
83
84protected:
91 void processPayloads(Collection<ByteArray> payLoads, int32_t start, int32_t end);
92
93 virtual bool setFreqCurrentDoc();
94 virtual ExplanationPtr explain(int32_t doc);
95};
96
97}
98
99#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
This class is very similar to SpanNearQuery except that it factors in the value of the payloads locat...
Definition PayloadNearQuery.h:25
virtual LuceneObjectPtr clone(const LuceneObjectPtr &other=LuceneObjectPtr())
Returns a clone of this query.
virtual String toString(const String &field)
Prints a query to a string, with field assumed to be the default field and omitted.
virtual int32_t hashCode()
Return hash code for this object.
virtual WeightPtr createWeight(const SearcherPtr &searcher)
Constructs an appropriate Weight implementation for this query. Only implemented by primitive queries...
virtual bool equals(const LuceneObjectPtr &other)
Return whether two objects are equal.
PayloadNearQuery(Collection< SpanQueryPtr > clauses, int32_t slop, bool inOrder)
PayloadFunctionPtr function
Definition PayloadNearQuery.h:36
String fieldName
Definition PayloadNearQuery.h:35
PayloadNearQuery(Collection< SpanQueryPtr > clauses, int32_t slop, bool inOrder, const PayloadFunctionPtr &function)
Definition PayloadNearQuery.h:63
virtual ExplanationPtr explain(int32_t doc)
This method is no longer an official member of Scorer, but it is needed by SpanWeight to build an exp...
SimilarityPtr similarity
Definition PayloadNearQuery.h:72
SpansPtr spans
Definition PayloadNearQuery.h:71
void processPayloads(Collection< ByteArray > payLoads, int32_t start, int32_t end)
By default, uses the PayloadFunction to score the payloads, but can be overridden to do other things.
void getPayloads(Collection< SpansPtr > subSpans)
Get the payloads associated with all underlying subspans.
double payloadScore
Definition PayloadNearQuery.h:75
int32_t payloadsSeen
Definition PayloadNearQuery.h:76
PayloadNearSpanScorer(const SpansPtr &spans, const WeightPtr &weight, const SimilarityPtr &similarity, ByteArray norms)
virtual double score()
Returns the score of the current document matching the query. Initially invalid, until nextDoc() or a...
virtual bool setFreqCurrentDoc()
Definition PayloadNearQuery.h:52
PayloadNearSpanWeight(const SpanQueryPtr &query, const SearcherPtr &searcher)
virtual ScorerPtr scorer(const IndexReaderPtr &reader, bool scoreDocsInOrder, bool topScorer)
Returns a Scorer which scores documents in/out-of order according to scoreDocsInOrder.
Matches spans which are near one another. One can specify slop, the maximum number of intervening unm...
Definition SpanNearQuery.h:16
Public for extension only.
Definition SpanScorer.h:15
Public for use by other weight implementations.
Definition SpanWeight.h:15
Definition AbstractAllTermDocs.h:12
boost::shared_ptr< PayloadFunction > PayloadFunctionPtr
Definition LuceneTypes.h:402
boost::shared_ptr< SpanQuery > SpanQueryPtr
Definition LuceneTypes.h:450
boost::shared_ptr< LuceneObject > LuceneObjectPtr
Definition LuceneTypes.h:539
boost::shared_ptr< Searcher > SearcherPtr
Definition LuceneTypes.h:434
boost::shared_ptr< Similarity > SimilarityPtr
Definition LuceneTypes.h:435
boost::shared_ptr< Explanation > ExplanationPtr
Definition LuceneTypes.h:333
boost::shared_ptr< Spans > SpansPtr
Definition LuceneTypes.h:453
boost::shared_ptr< IndexReader > IndexReaderPtr
Definition LuceneTypes.h:157
boost::shared_ptr< Scorer > ScorerPtr
Definition LuceneTypes.h:429
boost::shared_ptr< Weight > WeightPtr
Definition LuceneTypes.h:480

clucene.sourceforge.net