aboutsummaryrefslogtreecommitdiffstats
path: root/searchsummary/src/vespa/searchsummary/docsummary/dynamicteaserdfw.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'searchsummary/src/vespa/searchsummary/docsummary/dynamicteaserdfw.cpp')
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/dynamicteaserdfw.cpp54
1 files changed, 14 insertions, 40 deletions
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/dynamicteaserdfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/dynamicteaserdfw.cpp
index fcf86f70bef..7baeccbe8cb 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/dynamicteaserdfw.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/dynamicteaserdfw.cpp
@@ -1,6 +1,6 @@
// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "juniperdfw.h"
+#include "dynamicteaserdfw.h"
#include "docsumstate.h"
#include "i_docsum_store_document.h"
#include "i_juniper_converter.h"
@@ -11,6 +11,7 @@
#include <vespa/juniper/config.h>
#include <vespa/juniper/result.h>
#include <vespa/vespalib/data/slime/inserter.h>
+#include <vespa/vespalib/util/exceptions.h>
#include <sstream>
#include <vespa/log/log.h>
@@ -18,43 +19,17 @@ LOG_SETUP(".searchlib.docsummary.dynamicteaserdfw");
namespace search::docsummary {
-
-JuniperDFW::JuniperDFW(const juniper::Juniper * juniper)
- : _input_field_name(),
- _juniperConfig(),
- _juniper(juniper),
- _query_term_filter()
-{
-}
-
-
-JuniperDFW::~JuniperDFW() = default;
-
-bool
-JuniperDFW::Init(
- const char *fieldName,
- const vespalib::string& inputField,
- const IQueryTermFilterFactory& query_term_filter_factory)
+DynamicTeaserDFW::~DynamicTeaserDFW() = default;
+DynamicTeaserDFW::DynamicTeaserDFW(const juniper::Juniper * juniper, const char * fieldName, vespalib::stringref inputField,
+ const IQueryTermFilterFactory& query_term_filter_factory)
+ : _juniper(juniper),
+ _input_field_name(inputField),
+ _juniperConfig(juniper->CreateConfig(fieldName)),
+ _query_term_filter(query_term_filter_factory.make(_input_field_name))
{
- bool rc = true;
- _juniperConfig = _juniper->CreateConfig(fieldName);
- if ( ! _juniperConfig) {
- LOG(warning, "could not create juniper config for field '%s'", fieldName);
- rc = false;
+ if (!_juniperConfig) {
+ throw vespalib::IllegalArgumentException("Failed to initialize DynamicTeaserDFW.");
}
-
- _input_field_name = inputField;
- _query_term_filter = query_term_filter_factory.make(_input_field_name);
- return rc;
-}
-
-bool
-JuniperTeaserDFW::Init(
- const char *fieldName,
- const vespalib::string& inputField,
- const IQueryTermFilterFactory& query_term_filter_factory)
-{
- return JuniperDFW::Init(fieldName, inputField, query_term_filter_factory);
}
void
@@ -68,8 +43,7 @@ DynamicTeaserDFW::insert_juniper_field(uint32_t docid, vespalib::stringref input
query = _juniper->CreateQueryHandle(iq, nullptr);
}
- LOG(debug, "makeDynamicTeaser: docid (%d)",
- docid);
+ LOG(debug, "makeDynamicTeaser: docid (%d)", docid);
std::unique_ptr<juniper::Result> result;
@@ -114,8 +88,8 @@ namespace {
class JuniperConverter : public IJuniperConverter
{
const DynamicTeaserDFW& _writer;
- uint32_t _doc_id;
- GetDocsumsState& _state;
+ uint32_t _doc_id;
+ GetDocsumsState& _state;
public:
JuniperConverter(const DynamicTeaserDFW& writer, uint32_t doc_id, GetDocsumsState& state);