diff options
author | Tor Egge <Tor.Egge@online.no> | 2022-09-15 16:04:04 +0200 |
---|---|---|
committer | Tor Egge <Tor.Egge@online.no> | 2022-09-15 16:04:04 +0200 |
commit | a5fc7e1e48f27b6385b1ee6849eb664f2cfa267c (patch) | |
tree | 58ccb86797a4cf6dd54ce503b41940ae734ae7da /searchsummary | |
parent | 88ea0524a2af51f997c87d616315fa6e0562b72f (diff) |
Adjust api for DocsumWriter and DocsumFieldWriter:
Pass reference to state instead of pointer.
Drop unused ResType argument.
Diffstat (limited to 'searchsummary')
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; }; } |