From 2a61d8747c98e3b712034c839cb980ec085959c1 Mon Sep 17 00:00:00 2001 From: Tor Egge Date: Fri, 27 Jan 2023 13:12:59 +0100 Subject: Enable stricter query term filter. --- .../vespa/searchcore/proton/docsummary/summarymanager.cpp | 5 ++--- streamingvisitors/src/vespa/vsm/vsm/vsm-adapter.cpp | 13 ++----------- 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/searchcore/src/vespa/searchcore/proton/docsummary/summarymanager.cpp b/searchcore/src/vespa/searchcore/proton/docsummary/summarymanager.cpp index 16545058d67..543af05db45 100644 --- a/searchcore/src/vespa/searchcore/proton/docsummary/summarymanager.cpp +++ b/searchcore/src/vespa/searchcore/proton/docsummary/summarymanager.cpp @@ -11,7 +11,7 @@ #include #include #include -#include +#include #include #include #include @@ -95,8 +95,7 @@ SummarySetup(const vespalib::string & baseDir, const SummaryConfig & summaryCfg, { _juniperConfig = std::make_unique(&_juniperProps, _wordFolder.get()); auto resultConfig = std::make_unique(); - (void) schema; - std::unique_ptr query_term_filter_factory = std::make_unique(std::shared_ptr()); + std::unique_ptr query_term_filter_factory = std::make_unique(schema); auto docsum_field_writer_factory = std::make_unique(summaryCfg.usev8geopositions, *this, *query_term_filter_factory); if (!resultConfig->readConfig(summaryCfg, make_string("SummaryManager(%s)", baseDir.c_str()).c_str(), *docsum_field_writer_factory)) { diff --git a/streamingvisitors/src/vespa/vsm/vsm/vsm-adapter.cpp b/streamingvisitors/src/vespa/vsm/vsm/vsm-adapter.cpp index 8e5c5cfd8f1..8f3fa8d0d54 100644 --- a/streamingvisitors/src/vespa/vsm/vsm/vsm-adapter.cpp +++ b/streamingvisitors/src/vespa/vsm/vsm/vsm-adapter.cpp @@ -3,9 +3,8 @@ #include "vsm-adapter.hpp" #include "docsum_field_writer_factory.h" #include "i_matching_elements_filler.h" +#include "query_term_filter_factory.h" #include -#include -#include #include #include @@ -13,8 +12,6 @@ LOG_SETUP(".vsm.vsm-adapter"); using search::docsummary::IQueryTermFilterFactory; using search::docsummary::ResConfigEntry; -using search::docsummary::LegacyQueryTermFilter; -using search::docsummary::LegacyQueryTermFilterFactory; using search::MatchingElements; using config::ConfigSnapshot; using vespa::config::search::SummaryConfig; @@ -147,15 +144,9 @@ VSMAdapter::configure(const VSMConfigSnapshot & snapshot) auto juniper = std::make_unique(_juniperProps.get(), &_wordFolder); docsumTools->setJuniper(std::move(juniper)); - // init keyword extractor - auto query_term_filter = std::make_unique(); - query_term_filter->addLegalIndexSpec(_highlightindexes.c_str()); - vespalib::string spec = query_term_filter->getLegalIndexSpec(); - LOG(debug, "index highlight spec: '%s'", spec.c_str()); - // init result config auto resCfg = std::make_unique(); - std::unique_ptr query_term_filter_factory = std::make_unique(std::move(query_term_filter)); + std::unique_ptr query_term_filter_factory = std::make_unique(*_fieldsCfg.get(), *vsmSummary); auto docsum_field_writer_factory = std::make_unique(summary.get()->usev8geopositions, *docsumTools, *query_term_filter_factory, *_fieldsCfg.get()); if ( !resCfg->readConfig(*summary.get(), _configId.c_str(), *docsum_field_writer_factory)) { throw std::runtime_error("(re-)configuration of VSM (docsum tools) failed due to bad summary config"); -- cgit v1.2.3