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


Loading...
Searching...
No Matches
NearSpansOrdered.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 NEARSPANSORDERED_H
8#define NEARSPANSORDERED_H
9
10#include "Spans.h"
11
12namespace Lucene {
13
31class LPPAPI NearSpansOrdered : public Spans {
32public:
33 NearSpansOrdered(const SpanNearQueryPtr& spanNearQuery, const IndexReaderPtr& reader, bool collectPayloads = true);
35
37
38protected:
39 int32_t allowedSlop;
41 bool more;
42
45
48
49 int32_t matchDoc;
50 int32_t matchStart;
51 int32_t matchEnd;
53
57
58public:
59 virtual int32_t doc();
60 virtual int32_t start();
61 virtual int32_t end();
62
64
66 virtual bool isPayloadAvailable();
67 virtual bool next();
68 virtual bool skipTo(int32_t target);
69
73 static bool docSpansOrdered(const SpansPtr& spans1, const SpansPtr& spans2);
74
75 virtual String toString();
76
77protected:
82
84 bool toSameDoc();
85
86 // Like {@link #docSpansOrdered(SpansPtr, SpansPtr)}, but use the spans starts and ends as parameters.
87 static bool docSpansOrdered(int32_t start1, int32_t end1, int32_t start2, int32_t end2);
88
91
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
A Spans that is formed from the ordered subspans of a SpanNearQuery where the subspans do not overlap...
Definition NearSpansOrdered.h:31
SpanNearQueryPtr query
Definition NearSpansOrdered.h:55
bool shrinkToAfterShortestMatch()
The subSpans are ordered in the same doc, so there is a possible match. Compute the slop while making...
Collection< ByteArray > matchPayload
Definition NearSpansOrdered.h:52
bool firstTime
Definition NearSpansOrdered.h:40
int32_t matchStart
Definition NearSpansOrdered.h:50
bool advanceAfterOrdered()
Advances the subSpans to just after an ordered match with a minimum slop that is smaller than the slo...
NearSpansOrdered(const SpanNearQueryPtr &spanNearQuery, const IndexReaderPtr &reader, bool collectPayloads=true)
Collection< SpansPtr > subSpans
The spans in the same order as the SpanNearQuery.
Definition NearSpansOrdered.h:44
static bool docSpansOrdered(int32_t start1, int32_t end1, int32_t start2, int32_t end2)
virtual String toString()
Returns a string representation of the object.
virtual Collection< ByteArray > getPayload()
Returns the payload data for the current span. This is invalid until next() is called for the first t...
bool inSameDoc
Indicates that all subSpans have same doc()
Definition NearSpansOrdered.h:47
virtual bool next()
Move to the next match, returning true if any such exists.
int32_t matchDoc
Definition NearSpansOrdered.h:49
virtual int32_t start()
Returns the start position of the current match. Initially invalid.
static bool docSpansOrdered(const SpansPtr &spans1, const SpansPtr &spans2)
Check whether two Spans in the same document are ordered.
virtual int32_t doc()
Returns the document number of the current match. Initially invalid.
bool more
Definition NearSpansOrdered.h:41
bool toSameDoc()
Advance the subSpans to the same document.
Collection< SpansPtr > subSpansByDoc
Definition NearSpansOrdered.h:54
bool collectPayloads
Definition NearSpansOrdered.h:56
bool stretchToOrder()
Order the subSpans within the same document by advancing all later spans after the previous one.
int32_t allowedSlop
Definition NearSpansOrdered.h:39
int32_t matchEnd
Definition NearSpansOrdered.h:51
virtual bool isPayloadAvailable()
Checks if a payload can be loaded at this position.
Collection< SpansPtr > getSubSpans()
virtual bool skipTo(int32_t target)
Skips to the first match beyond the current, whose document number is greater than or equal to target...
virtual int32_t end()
Returns the end position of the current match. Initially invalid.
An enumeration of span matches. Used to implement span searching. Each span represents a range of ter...
Definition Spans.h:17
Definition AbstractAllTermDocs.h:12
boost::shared_ptr< Spans > SpansPtr
Definition LuceneTypes.h:453
boost::shared_ptr< IndexReader > IndexReaderPtr
Definition LuceneTypes.h:157
boost::shared_ptr< SpanNearQuery > SpanNearQueryPtr
Definition LuceneTypes.h:447

clucene.sourceforge.net