summaryrefslogtreecommitdiffstats
path: root/searchsummary
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@online.no>2022-09-15 16:04:04 +0200
committerTor Egge <Tor.Egge@online.no>2022-09-15 16:04:04 +0200
commita5fc7e1e48f27b6385b1ee6849eb664f2cfa267c (patch)
tree58ccb86797a4cf6dd54ce503b41940ae734ae7da /searchsummary
parent88ea0524a2af51f997c87d616315fa6e0562b72f (diff)
Adjust api for DocsumWriter and DocsumFieldWriter:
Pass reference to state instead of pointer. Drop unused ResType argument.
Diffstat (limited to 'searchsummary')
-rw-r--r--searchsummary/src/tests/docsummary/attribute_combiner/attribute_combiner_test.cpp2
-rw-r--r--searchsummary/src/tests/docsummary/attributedfw/attributedfw_test.cpp2
-rw-r--r--searchsummary/src/tests/docsummary/document_id_dfw/document_id_dfw_test.cpp16
-rw-r--r--searchsummary/src/tests/docsummary/matched_elements_filter/matched_elements_filter_test.cpp2
-rw-r--r--searchsummary/src/tests/docsummary/positionsdfw_test.cpp3
-rw-r--r--searchsummary/src/tests/docsummary/slime_summary/slime_summary_test.cpp2
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/attribute_combiner_dfw.cpp8
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/attribute_combiner_dfw.h2
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/attributedfw.cpp22
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/copy_dfw.cpp2
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/copy_dfw.h3
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/docsum_field_writer.cpp2
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/docsum_field_writer.h4
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.cpp10
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.h4
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/document_id_dfw.cpp2
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/document_id_dfw.h2
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/dynamicteaserdfw.cpp4
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/empty_dfw.cpp2
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/empty_dfw.h2
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.cpp4
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.h2
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/juniperdfw.h4
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/matched_elements_filter_dfw.cpp6
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/matched_elements_filter_dfw.h4
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.cpp24
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.h10
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/rankfeaturesdfw.cpp14
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/rankfeaturesdfw.h2
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/simple_dfw.cpp4
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/simple_dfw.h4
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/summaryfeaturesdfw.cpp16
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/summaryfeaturesdfw.h4
33 files changed, 103 insertions, 91 deletions
diff --git a/searchsummary/src/tests/docsummary/attribute_combiner/attribute_combiner_test.cpp b/searchsummary/src/tests/docsummary/attribute_combiner/attribute_combiner_test.cpp
index 8bf3db4d112..005fed41838 100644
--- a/searchsummary/src/tests/docsummary/attribute_combiner/attribute_combiner_test.cpp
+++ b/searchsummary/src/tests/docsummary/attribute_combiner/attribute_combiner_test.cpp
@@ -91,7 +91,7 @@ AttributeCombinerTest::assertWritten(const vespalib::string &exp_slime_as_json,
{
vespalib::Slime act;
vespalib::slime::SlimeInserter inserter(act);
- writer->insertField(docId, nullptr, &state, search::docsummary::RES_JSONSTRING, inserter);
+ writer->insertField(docId, nullptr, state, inserter);
SlimeValue exp(exp_slime_as_json);
EXPECT_EQ(exp.slime, act);
diff --git a/searchsummary/src/tests/docsummary/attributedfw/attributedfw_test.cpp b/searchsummary/src/tests/docsummary/attributedfw/attributedfw_test.cpp
index e9d00629d6f..bba3a5ab506 100644
--- a/searchsummary/src/tests/docsummary/attributedfw/attributedfw_test.cpp
+++ b/searchsummary/src/tests/docsummary/attributedfw/attributedfw_test.cpp
@@ -69,7 +69,7 @@ public:
void expect_field(const vespalib::string& exp_slime_as_json, uint32_t docid) {
vespalib::Slime act;
vespalib::slime::SlimeInserter inserter(act);
- _writer->insertField(docid, nullptr, &_state, search::docsummary::RES_JSONSTRING, inserter);
+ _writer->insertField(docid, nullptr, _state, inserter);
SlimeValue exp(exp_slime_as_json);
EXPECT_EQ(exp.slime, act);
diff --git a/searchsummary/src/tests/docsummary/document_id_dfw/document_id_dfw_test.cpp b/searchsummary/src/tests/docsummary/document_id_dfw/document_id_dfw_test.cpp
index 1c4e201e745..4819c34272c 100644
--- a/searchsummary/src/tests/docsummary/document_id_dfw/document_id_dfw_test.cpp
+++ b/searchsummary/src/tests/docsummary/document_id_dfw/document_id_dfw_test.cpp
@@ -5,6 +5,8 @@
#include <vespa/document/fieldvalue/document.h>
#include <vespa/document/repo/configbuilder.h>
#include <vespa/document/repo/documenttyperepo.h>
+#include <vespa/searchlib/common/matching_elements.h>
+#include <vespa/searchsummary/docsummary/docsumstate.h>
#include <vespa/searchsummary/docsummary/docsum_store_document.h>
#include <vespa/searchsummary/docsummary/document_id_dfw.h>
#include <vespa/searchsummary/docsummary/resultclass.h>
@@ -20,8 +22,12 @@ using document::DocumentType;
using document::DocumentTypeRepo;
using document::config_builder::DocumenttypesConfigBuilderHelper;
using document::config_builder::Struct;
+using search::MatchingElements;
+using search::MatchingElementsFields;
using search::docsummary::DocsumStoreDocument;
using search::docsummary::DocumentIdDFW;
+using search::docsummary::GetDocsumsState;
+using search::docsummary::GetDocsumsStateCallback;
using search::docsummary::IDocsumStoreDocument;
using search::docsummary::ResultClass;
using search::docsummary::ResultConfig;
@@ -47,6 +53,12 @@ make_doc_type_repo()
return std::make_unique<const DocumentTypeRepo>(builder.config());
}
+struct MyGetDocsumsStateCallback : GetDocsumsStateCallback {
+ virtual void FillSummaryFeatures(GetDocsumsState&) override {}
+ virtual void FillRankFeatures(GetDocsumsState&) override {}
+ std::unique_ptr<MatchingElements> fill_matching_elements(const MatchingElementsFields &) override { abort(); }
+};
+
class DocumentIdDFWTest : public ::testing::Test
{
vespalib::string _field_name;
@@ -96,7 +108,9 @@ DocumentIdDFWTest::write(const IDocsumStoreDocument* doc)
Cursor & docsum = top_inserter.insertObject();
ObjectInserter field_inserter(docsum, _field_name_view);
DocumentIdDFW writer;
- writer.insertField(0, doc, nullptr, search::docsummary::RES_LONG_STRING, field_inserter);
+ MyGetDocsumsStateCallback callback;
+ GetDocsumsState state(callback);
+ writer.insertField(0, doc, state, field_inserter);
return slime;
}
diff --git a/searchsummary/src/tests/docsummary/matched_elements_filter/matched_elements_filter_test.cpp b/searchsummary/src/tests/docsummary/matched_elements_filter/matched_elements_filter_test.cpp
index 519961dedb6..8ac37ae76eb 100644
--- a/searchsummary/src/tests/docsummary/matched_elements_filter/matched_elements_filter_test.cpp
+++ b/searchsummary/src/tests/docsummary/matched_elements_filter/matched_elements_filter_test.cpp
@@ -218,7 +218,7 @@ private:
Slime slime;
SlimeInserter inserter(slime);
- writer->insertField(doc_id, doc.get(), &state, ResType::RES_JSONSTRING, inserter);
+ writer->insertField(doc_id, doc.get(), state, inserter);
return slime;
}
diff --git a/searchsummary/src/tests/docsummary/positionsdfw_test.cpp b/searchsummary/src/tests/docsummary/positionsdfw_test.cpp
index f2e949cbddf..b4e82ed2aa8 100644
--- a/searchsummary/src/tests/docsummary/positionsdfw_test.cpp
+++ b/searchsummary/src/tests/docsummary/positionsdfw_test.cpp
@@ -132,14 +132,13 @@ void checkWritePositionField(AttrType &attr,
MyAttributeManager attribute_man(attr);
PositionsDFW::UP writer = PositionsDFW::create(attr.getName().c_str(), &attribute_man, false);
ASSERT_TRUE(writer.get());
- ResType res_type = RES_JSONSTRING;
MyGetDocsumsStateCallback callback;
GetDocsumsState state(callback);
state._attributes.push_back(&attr);
vespalib::Slime target;
vespalib::slime::SlimeInserter inserter(target);
- writer->insertField(doc_id, &state, res_type, inserter);
+ writer->insertField(doc_id, state, inserter);
test::SlimeValue expected(expect_json);
EXPECT_EQUAL(expected.slime, target);
diff --git a/searchsummary/src/tests/docsummary/slime_summary/slime_summary_test.cpp b/searchsummary/src/tests/docsummary/slime_summary/slime_summary_test.cpp
index cbde3d77b4a..5f2f1578f66 100644
--- a/searchsummary/src/tests/docsummary/slime_summary/slime_summary_test.cpp
+++ b/searchsummary/src/tests/docsummary/slime_summary/slime_summary_test.cpp
@@ -55,7 +55,7 @@ struct DocsumFixture : IDocsumStore, GetDocsumsStateCallback {
Slime slimeOut;
SlimeInserter inserter(slimeOut);
auto rci = writer->resolveClassInfo(state._args.getResultClassName());
- writer->insertDocsum(rci, 1u, &state, this, inserter);
+ writer->insertDocsum(rci, 1u, state, this, inserter);
vespalib::SmartBuffer buf(4_Ki);
BinaryFormat::encode(slimeOut, buf);
EXPECT_GREATER(BinaryFormat::decode(buf.obtain(), slime), 0u);
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/attribute_combiner_dfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/attribute_combiner_dfw.cpp
index 6e00511398c..1ec95a58c00 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/attribute_combiner_dfw.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/attribute_combiner_dfw.cpp
@@ -49,15 +49,15 @@ AttributeCombinerDFW::create(const vespalib::string &fieldName, IAttributeContex
}
void
-AttributeCombinerDFW::insertField(uint32_t docid, GetDocsumsState *state, ResType, vespalib::slime::Inserter &target) const
+AttributeCombinerDFW::insertField(uint32_t docid, GetDocsumsState& state, vespalib::slime::Inserter &target) const
{
- auto& fieldWriterState = state->_fieldWriterStates[_stateIndex];
+ auto& fieldWriterState = state._fieldWriterStates[_stateIndex];
if (!fieldWriterState) {
const MatchingElements *matching_elements = nullptr;
if (_filter_elements) {
- matching_elements = &state->get_matching_elements(*_matching_elems_fields);
+ matching_elements = &state.get_matching_elements(*_matching_elems_fields);
}
- fieldWriterState = allocFieldWriterState(*state->_attrCtx, state->get_stash(), matching_elements);
+ fieldWriterState = allocFieldWriterState(*state._attrCtx, state.get_stash(), matching_elements);
}
fieldWriterState->insertField(docid, target);
}
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/attribute_combiner_dfw.h b/searchsummary/src/vespa/searchsummary/docsummary/attribute_combiner_dfw.h
index 33b61718392..0e1163df5e2 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/attribute_combiner_dfw.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/attribute_combiner_dfw.h
@@ -39,7 +39,7 @@ public:
bool setFieldWriterStateIndex(uint32_t fieldWriterStateIndex) override;
static std::unique_ptr<DocsumFieldWriter> create(const vespalib::string &fieldName, search::attribute::IAttributeContext &attrCtx,
bool filter_elements, std::shared_ptr<MatchingElementsFields> matching_elems_fields);
- void insertField(uint32_t docid, GetDocsumsState *state, ResType type, vespalib::slime::Inserter &target) const override;
+ void insertField(uint32_t docid, GetDocsumsState& state, vespalib::slime::Inserter &target) const override;
};
}
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/attributedfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/attributedfw.cpp
index ce08da7f7f1..1dff340666e 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/attributedfw.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/attributedfw.cpp
@@ -53,16 +53,16 @@ public:
explicit SingleAttrDFW(const vespalib::string & attrName) :
AttrDFW(attrName)
{ }
- void insertField(uint32_t docid, GetDocsumsState *state, ResType, Inserter &target) const override;
- bool isDefaultValue(uint32_t docid, const GetDocsumsState * state) const override {
- return get_attribute(*state).isUndefined(docid);
+ void insertField(uint32_t docid, GetDocsumsState& state, Inserter &target) const override;
+ bool isDefaultValue(uint32_t docid, const GetDocsumsState& state) const override {
+ return get_attribute(state).isUndefined(docid);
}
};
void
-SingleAttrDFW::insertField(uint32_t docid, GetDocsumsState * state, ResType, Inserter &target) const
+SingleAttrDFW::insertField(uint32_t docid, GetDocsumsState& state, Inserter &target) const
{
- const auto& v = get_attribute(*state);
+ const auto& v = get_attribute(state);
switch (v.getBasicType()) {
case BasicType::Type::UINT2:
case BasicType::Type::UINT4:
@@ -253,7 +253,7 @@ public:
}
}
bool setFieldWriterStateIndex(uint32_t fieldWriterStateIndex) override;
- void insertField(uint32_t docid, GetDocsumsState* state, ResType, Inserter& target) const override;
+ void insertField(uint32_t docid, GetDocsumsState& state, Inserter& target) const override;
};
bool
@@ -301,16 +301,16 @@ make_field_writer_state(const vespalib::string& field_name, const IAttributeVect
}
void
-MultiAttrDFW::insertField(uint32_t docid, GetDocsumsState *state, ResType, vespalib::slime::Inserter &target) const
+MultiAttrDFW::insertField(uint32_t docid, GetDocsumsState& state, vespalib::slime::Inserter &target) const
{
- auto& field_writer_state = state->_fieldWriterStates[_state_index];
+ auto& field_writer_state = state._fieldWriterStates[_state_index];
if (!field_writer_state) {
const MatchingElements *matching_elements = nullptr;
if (_filter_elements) {
- matching_elements = &state->get_matching_elements(*_matching_elems_fields);
+ matching_elements = &state.get_matching_elements(*_matching_elems_fields);
}
- const auto& attr = get_attribute(*state);
- field_writer_state = make_field_writer_state(getAttributeName(), attr, state->get_stash(), matching_elements);
+ const auto& attr = get_attribute(state);
+ field_writer_state = make_field_writer_state(getAttributeName(), attr, state.get_stash(), matching_elements);
}
field_writer_state->insertField(docid, target);
}
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/copy_dfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/copy_dfw.cpp
index 2dc04c03845..94e5420881b 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/copy_dfw.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/copy_dfw.cpp
@@ -17,7 +17,7 @@ CopyDFW::CopyDFW(const vespalib::string& inputField)
CopyDFW::~CopyDFW() = default;
void
-CopyDFW::insertField(uint32_t, const IDocsumStoreDocument* doc, GetDocsumsState *, ResType,
+CopyDFW::insertField(uint32_t, const IDocsumStoreDocument* doc, GetDocsumsState&,
vespalib::slime::Inserter &target) const
{
if (doc != nullptr) {
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/copy_dfw.h b/searchsummary/src/vespa/searchsummary/docsummary/copy_dfw.h
index 76c10f47bf1..175bc5b3246 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/copy_dfw.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/copy_dfw.h
@@ -21,8 +21,7 @@ public:
~CopyDFW() override;
bool IsGenerated() const override { return false; }
- void insertField(uint32_t docid, const IDocsumStoreDocument* doc, GetDocsumsState *state, ResType type,
- vespalib::slime::Inserter &target) const override;
+ void insertField(uint32_t docid, const IDocsumStoreDocument* doc, GetDocsumsState& state, vespalib::slime::Inserter &target) const override;
};
}
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/docsum_field_writer.cpp b/searchsummary/src/vespa/searchsummary/docsummary/docsum_field_writer.cpp
index c698f0603c6..452ca98ea0b 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/docsum_field_writer.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/docsum_field_writer.cpp
@@ -13,7 +13,7 @@ DocsumFieldWriter::getAttributeName() const
}
bool
-DocsumFieldWriter::isDefaultValue(uint32_t, const GetDocsumsState*) const
+DocsumFieldWriter::isDefaultValue(uint32_t, const GetDocsumsState&) const
{
return false;
}
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/docsum_field_writer.h b/searchsummary/src/vespa/searchsummary/docsummary/docsum_field_writer.h
index a1af91a2b3f..e9e34175c65 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/docsum_field_writer.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/docsum_field_writer.h
@@ -24,9 +24,9 @@ public:
}
virtual ~DocsumFieldWriter() = default;
virtual bool IsGenerated() const = 0;
- virtual void insertField(uint32_t docid, const IDocsumStoreDocument* doc, GetDocsumsState *state, ResType type, vespalib::slime::Inserter &target) const = 0;
+ virtual void insertField(uint32_t docid, const IDocsumStoreDocument* doc, GetDocsumsState& state, vespalib::slime::Inserter &target) const = 0;
virtual const vespalib::string & getAttributeName() const;
- virtual bool isDefaultValue(uint32_t docid, const GetDocsumsState * state) const;
+ virtual bool isDefaultValue(uint32_t docid, const GetDocsumsState& state) const;
void setIndex(size_t v) { _index = v; }
size_t getIndex() const { return _index; }
virtual bool setFieldWriterStateIndex(uint32_t fieldWriterStateIndex);
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.cpp b/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.cpp
index 422400dc2ef..bf35d6131e5 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.cpp
@@ -48,7 +48,7 @@ DynamicDocsumWriter::resolveOutputClass(vespalib::stringref summaryClass) const
}
void
-DynamicDocsumWriter::insertDocsum(const ResolveClassInfo & rci, uint32_t docid, GetDocsumsState *state,
+DynamicDocsumWriter::insertDocsum(const ResolveClassInfo & rci, uint32_t docid, GetDocsumsState& state,
IDocsumStore *docinfos, Inserter& topInserter)
{
if (rci.outputClass == nullptr) {
@@ -61,10 +61,10 @@ DynamicDocsumWriter::insertDocsum(const ResolveClassInfo & rci, uint32_t docid,
for (uint32_t i = 0; i < rci.outputClass->GetNumEntries(); ++i) {
const ResConfigEntry *resCfg = rci.outputClass->GetEntry(i);
const DocsumFieldWriter *writer = resCfg->_docsum_field_writer.get();
- if (state->_args.needField(resCfg->_name) && ! writer->isDefaultValue(docid, state)) {
+ if (state._args.needField(resCfg->_name) && ! writer->isDefaultValue(docid, state)) {
const Memory field_name(resCfg->_name.data(), resCfg->_name.size());
ObjectInserter inserter(docsum, field_name);
- writer->insertField(docid, nullptr, state, resCfg->_type, inserter);
+ writer->insertField(docid, nullptr, state, inserter);
}
}
} else {
@@ -77,13 +77,13 @@ DynamicDocsumWriter::insertDocsum(const ResolveClassInfo & rci, uint32_t docid,
vespalib::slime::Cursor & docsum = topInserter.insertObject();
for (uint32_t i = 0; i < rci.outputClass->GetNumEntries(); ++i) {
const ResConfigEntry *outCfg = rci.outputClass->GetEntry(i);
- if ( ! state->_args.needField(outCfg->_name)) continue;
+ if ( ! state._args.needField(outCfg->_name)) continue;
const DocsumFieldWriter *writer = outCfg->_docsum_field_writer.get();
const Memory field_name(outCfg->_name.data(), outCfg->_name.size());
ObjectInserter inserter(docsum, field_name);
if (writer != nullptr) {
if (! writer->isDefaultValue(docid, state)) {
- writer->insertField(docid, doc.get(), state, outCfg->_type, inserter);
+ writer->insertField(docid, doc.get(), state, inserter);
}
} else {
if (doc) {
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.h b/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.h
index c0579638593..52ddeebb0d6 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.h
@@ -37,7 +37,7 @@ public:
virtual ~IDocsumWriter() = default;
virtual void InitState(const search::IAttributeManager & attrMan, GetDocsumsState& state, const ResolveClassInfo& rci) = 0;
- virtual void insertDocsum(const ResolveClassInfo & rci, uint32_t docid, GetDocsumsState *state,
+ virtual void insertDocsum(const ResolveClassInfo & rci, uint32_t docid, GetDocsumsState& state,
IDocsumStore *docinfos, Inserter & target) = 0;
virtual ResolveClassInfo resolveClassInfo(vespalib::stringref outputClassName) const = 0;
};
@@ -61,7 +61,7 @@ public:
const ResultConfig *GetResultConfig() { return _resultConfig.get(); }
void InitState(const search::IAttributeManager & attrMan, GetDocsumsState& state, const ResolveClassInfo& rci) override;
- void insertDocsum(const ResolveClassInfo & outputClassInfo, uint32_t docid, GetDocsumsState *state,
+ void insertDocsum(const ResolveClassInfo & outputClassInfo, uint32_t docid, GetDocsumsState& state,
IDocsumStore *docinfos, Inserter & inserter) override;
ResolveClassInfo resolveClassInfo(vespalib::stringref outputClassName) const override;
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/document_id_dfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/document_id_dfw.cpp
index 3d28dbdc6fb..911cd1acc0d 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/document_id_dfw.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/document_id_dfw.cpp
@@ -10,7 +10,7 @@ DocumentIdDFW::DocumentIdDFW() = default;
DocumentIdDFW::~DocumentIdDFW() = default;
void
-DocumentIdDFW::insertField(uint32_t, const IDocsumStoreDocument* doc, GetDocsumsState *, ResType,
+DocumentIdDFW::insertField(uint32_t, const IDocsumStoreDocument* doc, GetDocsumsState&,
vespalib::slime::Inserter &target) const
{
if (doc != nullptr) {
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/document_id_dfw.h b/searchsummary/src/vespa/searchsummary/docsummary/document_id_dfw.h
index 27766a86e83..b6a89ff7828 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/document_id_dfw.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/document_id_dfw.h
@@ -16,7 +16,7 @@ public:
DocumentIdDFW();
~DocumentIdDFW() override;
bool IsGenerated() const override { return false; }
- void insertField(uint32_t docid, const IDocsumStoreDocument* doc, GetDocsumsState *state, ResType type, vespalib::slime::Inserter &target) const override;
+ void insertField(uint32_t docid, const IDocsumStoreDocument* doc, GetDocsumsState& state, vespalib::slime::Inserter &target) const override;
};
}
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/dynamicteaserdfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/dynamicteaserdfw.cpp
index fcdb81defbf..982a52f8479 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/dynamicteaserdfw.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/dynamicteaserdfw.cpp
@@ -143,11 +143,11 @@ JuniperConverter::insert_juniper_field(const document::StringFieldValue& input,
}
void
-DynamicTeaserDFW::insertField(uint32_t docid, const IDocsumStoreDocument* doc, GetDocsumsState *state, ResType,
+DynamicTeaserDFW::insertField(uint32_t docid, const IDocsumStoreDocument* doc, GetDocsumsState& state,
vespalib::slime::Inserter &target) const
{
if (doc != nullptr) {
- JuniperConverter converter(*this, docid, *state);
+ JuniperConverter converter(*this, docid, state);
doc->insert_juniper_field(_input_field_name, target, converter);
}
}
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/empty_dfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/empty_dfw.cpp
index 37d2785ffa7..d7d59c06791 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/empty_dfw.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/empty_dfw.cpp
@@ -9,7 +9,7 @@ EmptyDFW::EmptyDFW() = default;
EmptyDFW::~EmptyDFW() = default;
void
-EmptyDFW::insertField(uint32_t, GetDocsumsState *, ResType, vespalib::slime::Inserter &target) const
+EmptyDFW::insertField(uint32_t, GetDocsumsState&, vespalib::slime::Inserter &target) const
{
// insert explicitly-empty field?
// target.insertNix();
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/empty_dfw.h b/searchsummary/src/vespa/searchsummary/docsummary/empty_dfw.h
index 9a250450b1f..3e05e029722 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/empty_dfw.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/empty_dfw.h
@@ -16,7 +16,7 @@ public:
~EmptyDFW() override;
bool IsGenerated() const override { return true; }
- void insertField(uint32_t docid, GetDocsumsState *state, ResType type, vespalib::slime::Inserter &target) const override;
+ void insertField(uint32_t docid, GetDocsumsState& state, vespalib::slime::Inserter &target) const override;
};
}
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.cpp
index 474f329799b..4cd79bd8351 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.cpp
@@ -55,14 +55,14 @@ void fmtZcurve(int64_t zval, vespalib::slime::Inserter &target, bool useV8geoPos
}
void
-GeoPositionDFW::insertField(uint32_t docid, GetDocsumsState * dsState, ResType, vespalib::slime::Inserter &target) const
+GeoPositionDFW::insertField(uint32_t docid, GetDocsumsState& dsState, vespalib::slime::Inserter &target) const
{
using vespalib::slime::Cursor;
using vespalib::slime::ObjectSymbolInserter;
using vespalib::slime::Symbol;
using vespalib::slime::ArrayInserter;
- const auto& attribute = get_attribute(*dsState);
+ const auto& attribute = get_attribute(dsState);
if (attribute.hasMultiValue()) {
uint32_t entries = attribute.getValueCount(docid);
if (entries == 0 && _useV8geoPositions) return;
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.h b/searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.h
index 1bc8b523160..31dfc9ceef4 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/geoposdfw.h
@@ -16,7 +16,7 @@ private:
public:
typedef std::unique_ptr<GeoPositionDFW> UP;
GeoPositionDFW(const vespalib::string & attrName, bool useV8geoPositions);
- void insertField(uint32_t docid, GetDocsumsState *state, ResType type, vespalib::slime::Inserter &target) const override;
+ void insertField(uint32_t docid, GetDocsumsState& state, vespalib::slime::Inserter &target) const override;
static UP create(const char *attribute_name, const IAttributeManager *attribute_manager, bool useV8geoPositions);
};
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/juniperdfw.h b/searchsummary/src/vespa/searchsummary/docsummary/juniperdfw.h
index 7dcf3d16e26..24c99873f58 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/juniperdfw.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/juniperdfw.h
@@ -48,8 +48,8 @@ class DynamicTeaserDFW : public JuniperTeaserDFW
public:
explicit DynamicTeaserDFW(const juniper::Juniper * juniper) : JuniperTeaserDFW(juniper) { }
- void insertField(uint32_t docid, const IDocsumStoreDocument* doc, GetDocsumsState *state,
- ResType type, vespalib::slime::Inserter &target) const override;
+ void insertField(uint32_t docid, const IDocsumStoreDocument* doc, GetDocsumsState& state,
+ vespalib::slime::Inserter &target) const override;
void insert_juniper_field(uint32_t docid, vespalib::stringref input, GetDocsumsState& state, vespalib::slime::Inserter& inserter) const;
};
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/matched_elements_filter_dfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/matched_elements_filter_dfw.cpp
index fe06212bcd2..4d381f940ae 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/matched_elements_filter_dfw.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/matched_elements_filter_dfw.cpp
@@ -63,12 +63,12 @@ MatchedElementsFilterDFW::create(const std::string& input_field_name,
MatchedElementsFilterDFW::~MatchedElementsFilterDFW() = default;
void
-MatchedElementsFilterDFW::insertField(uint32_t docid, const IDocsumStoreDocument* doc, GetDocsumsState *state,
- ResType, vespalib::slime::Inserter& target) const
+MatchedElementsFilterDFW::insertField(uint32_t docid, const IDocsumStoreDocument* doc, GetDocsumsState& state,
+ vespalib::slime::Inserter& target) const
{
auto field_value = doc->get_field_value(_input_field_name);
if (field_value) {
- SummaryFieldConverter::insert_summary_field_with_filter(*field_value, target, get_matching_elements(docid, *state));
+ SummaryFieldConverter::insert_summary_field_with_filter(*field_value, target, get_matching_elements(docid, state));
}
}
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/matched_elements_filter_dfw.h b/searchsummary/src/vespa/searchsummary/docsummary/matched_elements_filter_dfw.h
index 18d608440d3..7dafdbc9e6b 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/matched_elements_filter_dfw.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/matched_elements_filter_dfw.h
@@ -34,8 +34,8 @@ public:
std::shared_ptr<MatchingElementsFields> matching_elems_fields);
~MatchedElementsFilterDFW() override;
bool IsGenerated() const override { return false; }
- void insertField(uint32_t docid, const IDocsumStoreDocument* doc, GetDocsumsState *state,
- ResType, vespalib::slime::Inserter& target) const override;
+ void insertField(uint32_t docid, const IDocsumStoreDocument* doc, GetDocsumsState& state,
+ vespalib::slime::Inserter& target) const override;
};
}
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.cpp
index 2dd19d8d9ea..02696c7b27a 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.cpp
@@ -34,16 +34,16 @@ using search::common::Location;
using search::common::GeoGcd;
LocationAttrDFW::AllLocations
-LocationAttrDFW::getAllLocations(GetDocsumsState *state) const
+LocationAttrDFW::getAllLocations(GetDocsumsState& state) const
{
AllLocations retval;
- if (! state->_args.locations_possible()) {
+ if (! state._args.locations_possible()) {
return retval;
}
- if (state->_parsedLocations.empty()) {
- state->parse_locations();
+ if (state._parsedLocations.empty()) {
+ state.parse_locations();
}
- for (const auto & loc : state->_parsedLocations) {
+ for (const auto & loc : state._parsedLocations) {
if (loc.location.valid()) {
LOG(debug, "found location(field %s) for DFW(field %s)\n",
loc.field_name.c_str(), getAttributeName().c_str());
@@ -56,7 +56,7 @@ LocationAttrDFW::getAllLocations(GetDocsumsState *state) const
}
if (retval.empty()) {
// avoid doing things twice
- state->_args.locations_possible(false);
+ state._args.locations_possible(false);
}
return retval;
}
@@ -69,13 +69,13 @@ AbsDistanceDFW::AbsDistanceDFW(const vespalib::string & attrName)
{ }
uint64_t
-AbsDistanceDFW::findMinDistance(uint32_t docid, GetDocsumsState *state,
+AbsDistanceDFW::findMinDistance(uint32_t docid, GetDocsumsState& state,
const std::vector<const GeoLoc *> &locations) const
{
// ensure result fits in Java "int"
uint64_t absdist = std::numeric_limits<int32_t>::max();
uint64_t sqdist = absdist*absdist;
- const auto& attribute = get_attribute(*state);
+ const auto& attribute = get_attribute(state);
for (auto location : locations) {
int32_t docx = 0;
int32_t docy = 0;
@@ -95,7 +95,7 @@ AbsDistanceDFW::findMinDistance(uint32_t docid, GetDocsumsState *state,
}
void
-AbsDistanceDFW::insertField(uint32_t docid, GetDocsumsState *state, ResType, vespalib::slime::Inserter &target) const
+AbsDistanceDFW::insertField(uint32_t docid, GetDocsumsState& state, vespalib::slime::Inserter &target) const
{
const auto & all_locations = getAllLocations(state);
if (all_locations.empty()) {
@@ -220,12 +220,12 @@ void insertV8FromAttr(const attribute::IAttributeVector &attribute, uint32_t doc
} // namespace
void
-PositionsDFW::insertField(uint32_t docid, GetDocsumsState * dsState, ResType, vespalib::slime::Inserter &target) const
+PositionsDFW::insertField(uint32_t docid, GetDocsumsState& dsState, vespalib::slime::Inserter &target) const
{
if (_useV8geoPositions) {
- insertV8FromAttr(get_attribute(*dsState), docid, target);
+ insertV8FromAttr(get_attribute(dsState), docid, target);
} else {
- insertFromAttr(get_attribute(*dsState), docid, target);
+ insertFromAttr(get_attribute(dsState), docid, target);
}
}
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.h b/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.h
index 67fe0bba5fe..d388b4d545f 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/positionsdfw.h
@@ -31,20 +31,20 @@ public:
return matching.empty() ? other : matching;
}
};
- AllLocations getAllLocations(GetDocsumsState *state) const;
+ AllLocations getAllLocations(GetDocsumsState& state) const;
};
class AbsDistanceDFW : public LocationAttrDFW
{
private:
- uint64_t findMinDistance(uint32_t docid, GetDocsumsState *state,
+ uint64_t findMinDistance(uint32_t docid, GetDocsumsState& state,
const std::vector<const GeoLoc *> &locations) const;
public:
explicit AbsDistanceDFW(const vespalib::string & attrName);
bool IsGenerated() const override { return true; }
- void insertField(uint32_t docid, GetDocsumsState *state,
- ResType, vespalib::slime::Inserter &target) const override;
+ void insertField(uint32_t docid, GetDocsumsState& state,
+ vespalib::slime::Inserter &target) const override;
static std::unique_ptr<DocsumFieldWriter> create(const char *attribute_name, const IAttributeManager *index_man);
@@ -60,7 +60,7 @@ public:
typedef std::unique_ptr<PositionsDFW> UP;
PositionsDFW(const vespalib::string & attrName, bool useV8geoPositions);
bool IsGenerated() const override { return true; }
- void insertField(uint32_t docid, GetDocsumsState *state, ResType, vespalib::slime::Inserter &target) const override;
+ void insertField(uint32_t docid, GetDocsumsState& state, vespalib::slime::Inserter &target) const override;
static UP create(const char *attribute_name, const IAttributeManager *index_man, bool useV8geoPositions);
};
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/rankfeaturesdfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/rankfeaturesdfw.cpp
index b7b10d9c1ea..08fba307e8f 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/rankfeaturesdfw.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/rankfeaturesdfw.cpp
@@ -12,17 +12,17 @@ RankFeaturesDFW::RankFeaturesDFW() = default;
RankFeaturesDFW::~RankFeaturesDFW() = default;
void
-RankFeaturesDFW::insertField(uint32_t docid, GetDocsumsState *state,
- ResType, vespalib::slime::Inserter &target) const
+RankFeaturesDFW::insertField(uint32_t docid, GetDocsumsState& state,
+ vespalib::slime::Inserter &target) const
{
- if ( !state->_rankFeatures ) {
- state->_callback.FillRankFeatures(*state);
- if (state->_rankFeatures.get() == nullptr) { // still no rank features to write
+ if ( !state._rankFeatures ) {
+ state._callback.FillRankFeatures(state);
+ if (state._rankFeatures.get() == nullptr) { // still no rank features to write
return;
}
}
- const FeatureSet::StringVector & names = state->_rankFeatures->getNames();
- const FeatureSet::Value * values = state->_rankFeatures->getFeaturesByDocId(docid);
+ const FeatureSet::StringVector & names = state._rankFeatures->getNames();
+ const FeatureSet::Value * values = state._rankFeatures->getFeaturesByDocId(docid);
if (values == nullptr) { return; }
vespalib::slime::Cursor& obj = target.insertObject();
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/rankfeaturesdfw.h b/searchsummary/src/vespa/searchsummary/docsummary/rankfeaturesdfw.h
index 7302d162b65..dbd5f3ce0b6 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/rankfeaturesdfw.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/rankfeaturesdfw.h
@@ -14,7 +14,7 @@ public:
RankFeaturesDFW & operator=(const RankFeaturesDFW &) = delete;
~RankFeaturesDFW() override;
bool IsGenerated() const override { return true; }
- void insertField(uint32_t docid, GetDocsumsState *state, ResType type, vespalib::slime::Inserter &target) const override;
+ void insertField(uint32_t docid, GetDocsumsState& state, vespalib::slime::Inserter &target) const override;
};
}
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/simple_dfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/simple_dfw.cpp
index 01e306161e7..b2a05d98f5b 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/simple_dfw.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/simple_dfw.cpp
@@ -5,9 +5,9 @@
namespace search::docsummary {
void
-SimpleDFW::insertField(uint32_t docid, const IDocsumStoreDocument *, GetDocsumsState *state, ResType type, vespalib::slime::Inserter &target) const
+SimpleDFW::insertField(uint32_t docid, const IDocsumStoreDocument *, GetDocsumsState& state, vespalib::slime::Inserter &target) const
{
- insertField(docid, state, type, target);
+ insertField(docid, state, target);
}
}
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/simple_dfw.h b/searchsummary/src/vespa/searchsummary/docsummary/simple_dfw.h
index 52a45754c1f..4c7a4be517e 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/simple_dfw.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/simple_dfw.h
@@ -13,8 +13,8 @@ namespace search::docsummary {
class SimpleDFW : public DocsumFieldWriter
{
public:
- virtual void insertField(uint32_t docid, GetDocsumsState *state, ResType type, vespalib::slime::Inserter &target) const = 0;
- void insertField(uint32_t docid, const IDocsumStoreDocument*, GetDocsumsState *state, ResType type, vespalib::slime::Inserter &target) const override;
+ virtual void insertField(uint32_t docid, GetDocsumsState& state, vespalib::slime::Inserter &target) const = 0;
+ void insertField(uint32_t docid, const IDocsumStoreDocument*, GetDocsumsState& state, vespalib::slime::Inserter &target) const override;
};
}
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/summaryfeaturesdfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/summaryfeaturesdfw.cpp
index 76bae0cee97..13a3a345bf6 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/summaryfeaturesdfw.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/summaryfeaturesdfw.cpp
@@ -18,19 +18,19 @@ SummaryFeaturesDFW::~SummaryFeaturesDFW() = default;
static vespalib::Memory _M_cached("vespa.summaryFeatures.cached");
void
-SummaryFeaturesDFW::insertField(uint32_t docid, GetDocsumsState *state, ResType, vespalib::slime::Inserter &target) const
+SummaryFeaturesDFW::insertField(uint32_t docid, GetDocsumsState& state, vespalib::slime::Inserter &target) const
{
- if (state->_omit_summary_features) {
+ if (state._omit_summary_features) {
return;
}
- if ( ! state->_summaryFeatures) {
- state->_callback.FillSummaryFeatures(*state);
- if ( !state->_summaryFeatures) { // still no summary features to write
+ if ( ! state._summaryFeatures) {
+ state._callback.FillSummaryFeatures(state);
+ if ( !state._summaryFeatures) { // still no summary features to write
return;
}
}
- const FeatureSet::StringVector &names = state->_summaryFeatures->getNames();
- const FeatureSet::Value *values = state->_summaryFeatures->getFeaturesByDocId(docid);
+ const FeatureSet::StringVector &names = state._summaryFeatures->getNames();
+ const FeatureSet::Value *values = state._summaryFeatures->getFeaturesByDocId(docid);
if (values == nullptr) { return; }
vespalib::slime::Cursor& obj = target.insertObject();
@@ -42,7 +42,7 @@ SummaryFeaturesDFW::insertField(uint32_t docid, GetDocsumsState *state, ResType,
obj.setDouble(name, values[i].as_double());
}
}
- if (state->_summaryFeaturesCached) {
+ if (state._summaryFeaturesCached) {
obj.setDouble(_M_cached, 1.0);
} else {
obj.setDouble(_M_cached, 0.0);
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/summaryfeaturesdfw.h b/searchsummary/src/vespa/searchsummary/docsummary/summaryfeaturesdfw.h
index ec14dc45055..661d23c2d64 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/summaryfeaturesdfw.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/summaryfeaturesdfw.h
@@ -14,8 +14,8 @@ public:
SummaryFeaturesDFW & operator=(const SummaryFeaturesDFW &) = delete;
~SummaryFeaturesDFW() override;
bool IsGenerated() const override { return true; }
- void insertField(uint32_t docid, GetDocsumsState *state,
- ResType type, vespalib::slime::Inserter &target) const override;
+ void insertField(uint32_t docid, GetDocsumsState& state,
+ vespalib::slime::Inserter &target) const override;
};
}