diff options
author | Geir Storli <geirst@yahooinc.com> | 2022-09-21 09:51:28 +0000 |
---|---|---|
committer | Geir Storli <geirst@yahooinc.com> | 2022-09-21 11:52:23 +0000 |
commit | 034ec90d9277634618454f827ed5095135e1e1ca (patch) | |
tree | e8bbca2a1c38fbb6ef73b7f41faf88452e6553c9 /searchsummary | |
parent | 04b195343586990e6a612d33e98c7fa8603ee0f4 (diff) |
Cleanup IDocsumStore and IDocsumWriter interfaces.
Diffstat (limited to 'searchsummary')
5 files changed, 15 insertions, 27 deletions
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 fda4923a826..9808f46d668 100644 --- a/searchsummary/src/tests/docsummary/slime_summary/slime_summary_test.cpp +++ b/searchsummary/src/tests/docsummary/slime_summary/slime_summary_test.cpp @@ -56,13 +56,12 @@ struct SlimeSummaryTest : testing::Test, 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_GT(BinaryFormat::decode(buf.obtain(), slime), 0u); } - uint32_t getNumDocs() const override { return 2; } - std::unique_ptr<const IDocsumStoreDocument> getMappedDocsum(uint32_t docid) override { + std::unique_ptr<const IDocsumStoreDocument> get_document(uint32_t docid) override { EXPECT_EQ(1u, docid); if (fail_get_mapped_docsum) { return {}; diff --git a/searchsummary/src/vespa/searchsummary/docsummary/docsumstore.h b/searchsummary/src/vespa/searchsummary/docsummary/docsumstore.h index 7f3a88b05eb..22bf516caaa 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/docsumstore.h +++ b/searchsummary/src/vespa/searchsummary/docsummary/docsumstore.h @@ -9,33 +9,19 @@ namespace search::docsummary { class IDocsumStoreDocument; /** - * Interface for object able to fetch docsum blobs based on local - * document id. + * Interface used to fetch docsum specific abstract of documents based on local document id. **/ class IDocsumStore { public: using UP = std::unique_ptr<IDocsumStore>; - /** - * Destructor. No cleanup needed for base class. - */ virtual ~IDocsumStore() = default; /** - * @return total number of documents. - **/ - virtual uint32_t getNumDocs() const = 0; - - /** - * Get a reference to a docsum blob in memory. The docsum store - * owns the memory (which is either mmap()ed or from a memory-based - * index of some kind). - * - * @return unique pointer to interface class providing access to document - * @param docid local document id + * Get a docsum specific abstract of the document for the given local document id. **/ - virtual std::unique_ptr<const IDocsumStoreDocument> getMappedDocsum(uint32_t docid) = 0; + virtual std::unique_ptr<const IDocsumStoreDocument> get_document(uint32_t docid) = 0; }; } diff --git a/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.cpp b/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.cpp index 62112af7e3e..c31c463f287 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.cpp +++ b/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.cpp @@ -39,7 +39,7 @@ DynamicDocsumWriter::resolveClassInfo(vespalib::stringref class_name, void DynamicDocsumWriter::insertDocsum(const ResolveClassInfo & rci, uint32_t docid, GetDocsumsState& state, - IDocsumStore *docinfos, Inserter& topInserter) + IDocsumStore &docinfos, Inserter& topInserter) { if (rci.res_class == nullptr) { // Use empty docsum when illegal docsum class has been requested @@ -59,7 +59,7 @@ DynamicDocsumWriter::insertDocsum(const ResolveClassInfo & rci, uint32_t docid, } } else { // look up docsum entry - auto doc = docinfos->getMappedDocsum(docid); + auto doc = docinfos.get_document(docid); if (!doc) { return; // Use empty docsum when document is gone } diff --git a/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.h b/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.h index b3cc12cfd25..b7e21056dba 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.h +++ b/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.h @@ -21,6 +21,9 @@ class KeywordExtractor; static constexpr uint32_t SLIME_MAGIC_ID = 0x55555555; +/** + * Interface for writing a docsum payload (in Slime) for a given document. + */ class IDocsumWriter { public: @@ -37,7 +40,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, - IDocsumStore *docinfos, Inserter & target) = 0; + IDocsumStore &docinfos, Inserter & target) = 0; virtual ResolveClassInfo resolveClassInfo(vespalib::stringref class_name, const vespalib::hash_set<vespalib::string>& fields) const = 0; }; @@ -60,7 +63,7 @@ public: void InitState(const search::IAttributeManager & attrMan, GetDocsumsState& state, const ResolveClassInfo& rci) override; void insertDocsum(const ResolveClassInfo & outputClassInfo, uint32_t docid, GetDocsumsState& state, - IDocsumStore *docinfos, Inserter & inserter) override; + IDocsumStore &docinfos, Inserter & inserter) override; ResolveClassInfo resolveClassInfo(vespalib::stringref class_name, const vespalib::hash_set<vespalib::string>& fields) const override; diff --git a/searchsummary/src/vespa/searchsummary/docsummary/i_docsum_store_document.h b/searchsummary/src/vespa/searchsummary/docsummary/i_docsum_store_document.h index 7d38ae18f37..32e1b07a838 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/i_docsum_store_document.h +++ b/searchsummary/src/vespa/searchsummary/docsummary/i_docsum_store_document.h @@ -12,9 +12,9 @@ namespace search::docsummary { class IJuniperConverter; /** - * Interface class providing access to a document retrieved from an - * IDocsumStore. Some implementations (e.g. DocsumStoreVsmDocument) might - * apply transforms when accessing some fields. + * Interface class providing access to a document retrieved from an IDocsumStore. + * + * Some implementations (e.g. DocsumStoreVsmDocument) might apply transforms when accessing some fields. **/ class IDocsumStoreDocument { |