From aea9c1ee84d1e17c2a6dc11e01f2981d724c3822 Mon Sep 17 00:00:00 2001 From: Tor Egge Date: Wed, 27 Mar 2024 14:52:53 +0100 Subject: Add streaming mode version of tokens document field writer. --- streamingvisitors/src/vespa/vsm/vsm/tokens_dfw.cpp | 37 ++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 streamingvisitors/src/vespa/vsm/vsm/tokens_dfw.cpp (limited to 'streamingvisitors/src/vespa/vsm/vsm/tokens_dfw.cpp') diff --git a/streamingvisitors/src/vespa/vsm/vsm/tokens_dfw.cpp b/streamingvisitors/src/vespa/vsm/vsm/tokens_dfw.cpp new file mode 100644 index 00000000000..7861c13a179 --- /dev/null +++ b/streamingvisitors/src/vespa/vsm/vsm/tokens_dfw.cpp @@ -0,0 +1,37 @@ +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +#include "tokens_dfw.h" +#include +#include "tokens_converter.h" + +using search::docsummary::IDocsumStoreDocument; +using search::docsummary::GetDocsumsState; + +namespace vsm { + +TokensDFW::TokensDFW(const vespalib::string& input_field_name, bool exact_match, search::Normalizing normalize_mode) + : DocsumFieldWriter(), + _input_field_name(input_field_name), + _exact_match(exact_match), + _normalize_mode(normalize_mode) +{ +} + +TokensDFW::~TokensDFW() = default; + +bool +TokensDFW::isGenerated() const +{ + return false; +} + +void +TokensDFW::insertField(uint32_t, const IDocsumStoreDocument* doc, GetDocsumsState&, vespalib::slime::Inserter& target) const +{ + if (doc != nullptr) { + TokensConverter converter(_exact_match, _normalize_mode); + doc->insert_summary_field(_input_field_name, target, &converter); + } +} + +} -- cgit v1.2.3