diff options
Diffstat (limited to 'streamingvisitors/src/vespa/vsm/vsm/tokens_dfw.cpp')
-rw-r--r-- | streamingvisitors/src/vespa/vsm/vsm/tokens_dfw.cpp | 37 |
1 files changed, 37 insertions, 0 deletions
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 <vespa/searchsummary/docsummary/i_docsum_store_document.h> +#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); + } +} + +} |