aboutsummaryrefslogtreecommitdiffstats
path: root/vsm
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2018-06-06 10:01:52 +0200
committerGitHub <noreply@github.com>2018-06-06 10:01:52 +0200
commitae20ddec12c463d1bbcc7817a8751c7aac355f38 (patch)
tree8204414e27054385d2028cd738608ab999caa08e /vsm
parent1e8f8c6492aea894c1f6a2bcd3cf4d5856fcb117 (diff)
Revert "Revert "Balder/sameelement in streaming""
Diffstat (limited to 'vsm')
-rw-r--r--vsm/src/vespa/vsm/searcher/fieldsearcher.cpp6
-rw-r--r--vsm/src/vespa/vsm/searcher/fieldsearcher.h4
-rw-r--r--vsm/src/vespa/vsm/vsm/docsumfilter.cpp2
-rw-r--r--vsm/src/vespa/vsm/vsm/docsumfilter.h2
-rw-r--r--vsm/src/vespa/vsm/vsm/vsm-adapter.cpp12
5 files changed, 13 insertions, 13 deletions
diff --git a/vsm/src/vespa/vsm/searcher/fieldsearcher.cpp b/vsm/src/vespa/vsm/searcher/fieldsearcher.cpp
index 31f53fee300..78531f41cf8 100644
--- a/vsm/src/vespa/vsm/searcher/fieldsearcher.cpp
+++ b/vsm/src/vespa/vsm/searcher/fieldsearcher.cpp
@@ -73,6 +73,7 @@ FieldSearcher::FieldSearcher(const FieldIdT & fId, bool defaultPrefix) :
_field(fId),
_matchType(defaultPrefix ? PREFIX : REGULAR),
_maxFieldLength(0x100000),
+ _currentElementId(0),
_currentElementWeight(1),
_pureUsAsciiCount(0),
_pureUsAsciiFieldCount(0),
@@ -85,9 +86,7 @@ FieldSearcher::FieldSearcher(const FieldIdT & fId, bool defaultPrefix) :
zeroStat();
}
-FieldSearcher::~FieldSearcher()
-{
-}
+FieldSearcher::~FieldSearcher() = default;
bool FieldSearcher::search(const StorageDocument & doc)
{
@@ -275,6 +274,7 @@ FieldSearcher::IteratorHandler::onPrimitive(uint32_t, const Content & c)
{
LOG(spam, "onPrimitive: field value '%s'", c.getValue().toString().c_str());
_searcher.setCurrentWeight(c.getWeight());
+ _searcher.setCurrentElementId(getArrayIndex());
_searcher.onValue(c.getValue());
}
diff --git a/vsm/src/vespa/vsm/searcher/fieldsearcher.h b/vsm/src/vespa/vsm/searcher/fieldsearcher.h
index 236382be5f9..2bf976de017 100644
--- a/vsm/src/vespa/vsm/searcher/fieldsearcher.h
+++ b/vsm/src/vespa/vsm/searcher/fieldsearcher.h
@@ -95,11 +95,13 @@ private:
void prepareFieldId();
void setCurrentWeight(int32_t weight) { _currentElementWeight = weight; }
+ void setCurrentElementId(int32_t weight) { _currentElementId = weight; }
bool onSearch(const StorageDocument & doc);
virtual void onValue(const document::FieldValue & fv) = 0;
FieldIdT _field;
MatchType _matchType;
unsigned _maxFieldLength;
+ uint32_t _currentElementId;
int32_t _currentElementWeight; // Contains the weight of the current item being evaluated.
/// Number of bytes in blocks containing pure us-ascii
unsigned _pureUsAsciiCount;
@@ -124,7 +126,7 @@ protected:
* For each call to onValue() a batch of words are processed, and the position is local to this batch.
**/
void addHit(search::QueryTerm & qt, uint32_t pos) const {
- qt.add(_words + pos, field(), getCurrentWeight());
+ qt.add(_words + pos, field(), _currentElementId, getCurrentWeight());
}
public:
static search::byte _foldLowCase[256];
diff --git a/vsm/src/vespa/vsm/vsm/docsumfilter.cpp b/vsm/src/vespa/vsm/vsm/docsumfilter.cpp
index 21fa1d9ed02..e6af5fb6477 100644
--- a/vsm/src/vespa/vsm/vsm/docsumfilter.cpp
+++ b/vsm/src/vespa/vsm/vsm/docsumfilter.cpp
@@ -216,7 +216,7 @@ DocsumFilter::DocsumFilter(const DocsumToolsPtr &tools, const IDocSumCache & doc
_emptyFieldPath()
{ }
-DocsumFilter::~DocsumFilter() { }
+DocsumFilter::~DocsumFilter() =default;
void DocsumFilter::init(const FieldMap & fieldMap, const FieldPathMapT & fieldPathMap)
{
diff --git a/vsm/src/vespa/vsm/vsm/docsumfilter.h b/vsm/src/vespa/vsm/vsm/docsumfilter.h
index a3f8a8539f1..2d1ab6984e4 100644
--- a/vsm/src/vespa/vsm/vsm/docsumfilter.h
+++ b/vsm/src/vespa/vsm/vsm/docsumfilter.h
@@ -54,7 +54,7 @@ private:
public:
DocsumFilter(const DocsumToolsPtr & tools, const IDocSumCache & docsumCache);
- virtual ~DocsumFilter();
+ ~DocsumFilter() override;
const DocsumToolsPtr & getTools() const { return _tools; }
/**
diff --git a/vsm/src/vespa/vsm/vsm/vsm-adapter.cpp b/vsm/src/vespa/vsm/vsm/vsm-adapter.cpp
index d5078102e5d..1cd35e7ca61 100644
--- a/vsm/src/vespa/vsm/vsm/vsm-adapter.cpp
+++ b/vsm/src/vespa/vsm/vsm/vsm-adapter.cpp
@@ -46,7 +46,7 @@ void GetDocsumsStateCallback::FillDocumentLocations(GetDocsumsState *state, IDoc
}
-GetDocsumsStateCallback::~GetDocsumsStateCallback() { }
+GetDocsumsStateCallback::~GetDocsumsStateCallback() = default;
DocsumTools::FieldSpec::FieldSpec() :
_outputName(),
@@ -54,7 +54,7 @@ DocsumTools::FieldSpec::FieldSpec() :
_command(VsmsummaryConfig::Fieldmap::NONE)
{ }
-DocsumTools::FieldSpec::~FieldSpec() {}
+DocsumTools::FieldSpec::~FieldSpec() = default;
DocsumTools::DocsumTools(std::unique_ptr<DynamicDocsumWriter> writer) :
_writer(std::move(writer)),
@@ -64,7 +64,7 @@ DocsumTools::DocsumTools(std::unique_ptr<DynamicDocsumWriter> writer) :
{ }
-DocsumTools::~DocsumTools() { }
+DocsumTools::~DocsumTools() = default;
bool
DocsumTools::obtainFieldNames(const FastS_VsmsummaryHandle &cfg)
@@ -174,8 +174,6 @@ VSMAdapter::VSMAdapter(const vespalib::string & highlightindexes, const vespalib
}
-VSMAdapter::~VSMAdapter()
-{
-}
+VSMAdapter::~VSMAdapter() = default;
-} // namespace vsm
+}