summaryrefslogtreecommitdiffstats
path: root/searchsummary
diff options
context:
space:
mode:
authorGeir Storli <geirst@yahooinc.com>2022-09-21 09:51:28 +0000
committerGeir Storli <geirst@yahooinc.com>2022-09-21 11:52:23 +0000
commit034ec90d9277634618454f827ed5095135e1e1ca (patch)
treee8bbca2a1c38fbb6ef73b7f41faf88452e6553c9 /searchsummary
parent04b195343586990e6a612d33e98c7fa8603ee0f4 (diff)
Cleanup IDocsumStore and IDocsumWriter interfaces.
Diffstat (limited to 'searchsummary')
-rw-r--r--searchsummary/src/tests/docsummary/slime_summary/slime_summary_test.cpp5
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/docsumstore.h20
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.cpp4
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.h7
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/i_docsum_store_document.h6
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
{