diff options
author | Tor Egge <Tor.Egge@online.no> | 2023-01-27 13:12:59 +0100 |
---|---|---|
committer | Tor Egge <Tor.Egge@online.no> | 2023-01-27 13:12:59 +0100 |
commit | 2a61d8747c98e3b712034c839cb980ec085959c1 (patch) | |
tree | 2060157daef738dcdbd24c472dd92bd5c38c01eb | |
parent | cb4e4db9331b92dede6214d8b4fb6d9aaccd5be1 (diff) |
Enable stricter query term filter.
-rw-r--r-- | searchcore/src/vespa/searchcore/proton/docsummary/summarymanager.cpp | 5 | ||||
-rw-r--r-- | 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 <vespa/vespalib/util/lambdatask.h> #include <vespa/searchsummary/docsummary/docsum_field_writer_factory.h> #include <vespa/searchsummary/docsummary/i_query_term_filter.h> -#include <vespa/searchsummary/docsummary/legacy_query_term_filter_factory.h> +#include <vespa/searchsummary/docsummary/query_term_filter_factory.h> #include <vespa/vespalib/util/exceptions.h> #include <vespa/fastlib/text/normwordfolder.h> #include <vespa/config-summary.h> @@ -95,8 +95,7 @@ SummarySetup(const vespalib::string & baseDir, const SummaryConfig & summaryCfg, { _juniperConfig = std::make_unique<juniper::Juniper>(&_juniperProps, _wordFolder.get()); auto resultConfig = std::make_unique<ResultConfig>(); - (void) schema; - std::unique_ptr<IQueryTermFilterFactory> query_term_filter_factory = std::make_unique<LegacyQueryTermFilterFactory>(std::shared_ptr<IQueryTermFilter>()); + std::unique_ptr<IQueryTermFilterFactory> query_term_filter_factory = std::make_unique<QueryTermFilterFactory>(schema); auto docsum_field_writer_factory = std::make_unique<DocsumFieldWriterFactory>(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 <vespa/searchlib/common/matching_elements.h> -#include <vespa/searchsummary/docsummary/legacy_query_term_filter.h> -#include <vespa/searchsummary/docsummary/legacy_query_term_filter_factory.h> #include <vespa/searchsummary/config/config-juniperrc.h> #include <vespa/log/log.h> @@ -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<juniper::Juniper>(_juniperProps.get(), &_wordFolder); docsumTools->setJuniper(std::move(juniper)); - // init keyword extractor - auto query_term_filter = std::make_unique<LegacyQueryTermFilter>(); - 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<ResultConfig>(); - std::unique_ptr<IQueryTermFilterFactory> query_term_filter_factory = std::make_unique<LegacyQueryTermFilterFactory>(std::move(query_term_filter)); + std::unique_ptr<IQueryTermFilterFactory> query_term_filter_factory = std::make_unique<QueryTermFilterFactory>(*_fieldsCfg.get(), *vsmSummary); auto docsum_field_writer_factory = std::make_unique<DocsumFieldWriterFactory>(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"); |