Lucene++ - a full-featured, c++ search engine
API Documentation
Main Page
Related Pages
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
include
PayloadNearQuery.h
Go to the documentation of this file.
1
// Copyright (c) 2009-2011 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
14
namespace
Lucene
15
{
25
class
LPPAPI
PayloadNearQuery
:
public
SpanNearQuery
26
{
27
public
:
28
PayloadNearQuery
(
Collection<SpanQueryPtr>
clauses, int32_t slop,
bool
inOrder);
29
PayloadNearQuery
(
Collection<SpanQueryPtr>
clauses, int32_t slop,
bool
inOrder,
PayloadFunctionPtr
function
);
30
31
virtual
~
PayloadNearQuery
();
32
33
LUCENE_CLASS
(
PayloadNearQuery
);
34
35
protected
:
36
String fieldName;
37
PayloadFunctionPtr
function
;
38
39
public
:
40
using
SpanNearQuery::toString
;
41
42
virtual
WeightPtr
createWeight(
SearcherPtr
searcher);
43
44
virtual
LuceneObjectPtr
clone(
LuceneObjectPtr
other =
LuceneObjectPtr
());
45
virtual
String toString(
const
String& field);
46
virtual
bool
equals(
LuceneObjectPtr
other);
47
virtual
int32_t hashCode();
48
49
friend
class
PayloadNearSpanWeight
;
50
friend
class
PayloadNearSpanScorer
;
51
};
52
53
class
LPPAPI
PayloadNearSpanWeight
:
public
SpanWeight
54
{
55
public
:
56
PayloadNearSpanWeight
(
SpanQueryPtr
query,
SearcherPtr
searcher);
57
virtual
~
PayloadNearSpanWeight
();
58
59
LUCENE_CLASS
(
PayloadNearSpanWeight
);
60
61
public
:
62
virtual
ScorerPtr
scorer(
IndexReaderPtr
reader,
bool
scoreDocsInOrder,
bool
topScorer);
63
};
64
65
class
LPPAPI
PayloadNearSpanScorer
:
public
SpanScorer
66
{
67
public
:
68
PayloadNearSpanScorer
(
SpansPtr
spans,
WeightPtr
weight,
SimilarityPtr
similarity, ByteArray norms);
69
virtual
~
PayloadNearSpanScorer
();
70
71
LUCENE_CLASS
(
PayloadNearSpanScorer
);
72
73
public
:
74
SpansPtr
spans
;
75
SimilarityPtr
similarity
;
76
77
protected
:
78
double
payloadScore
;
79
int32_t
payloadsSeen
;
80
81
public
:
83
void
getPayloads(
Collection<SpansPtr>
subSpans);
84
85
virtual
double
score();
86
87
protected
:
94
void
processPayloads(
Collection<ByteArray>
payLoads, int32_t start, int32_t end);
95
96
virtual
bool
setFreqCurrentDoc();
97
virtual
ExplanationPtr
explain(int32_t doc);
98
};
99
}
100
101
#endif
clucene.sourceforge.net