aboutsummaryrefslogtreecommitdiffstats
path: root/searchsummary
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@online.no>2023-01-27 16:59:37 +0100
committerTor Egge <Tor.Egge@online.no>2023-01-27 16:59:37 +0100
commit73b67ba8040f4e9df6ce140369e0ef9a33f5cee1 (patch)
treeeb14bb8355654bf97e9ea4744ccad0c0631e8bd4 /searchsummary
parent8a006bc9ca202713ec54c7961a9256790c87d10d (diff)
Remove legacy query term filter.
Diffstat (limited to 'searchsummary')
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/CMakeLists.txt2
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.cpp1
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/legacy_query_term_filter.cpp130
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/legacy_query_term_filter.h84
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/legacy_query_term_filter_factory.cpp21
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/legacy_query_term_filter_factory.h21
6 files changed, 0 insertions, 259 deletions
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/CMakeLists.txt b/searchsummary/src/vespa/searchsummary/docsummary/CMakeLists.txt
index a95b2322947..83da1e9fd30 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/CMakeLists.txt
+++ b/searchsummary/src/vespa/searchsummary/docsummary/CMakeLists.txt
@@ -23,8 +23,6 @@ vespa_add_library(searchsummary_docsummary OBJECT
juniper_dfw_term_visitor.cpp
juniper_query_adapter.cpp
juniperproperties.cpp
- legacy_query_term_filter.cpp
- legacy_query_term_filter_factory.cpp
linguisticsannotation.cpp
matched_elements_filter_dfw.cpp
positionsdfw.cpp
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.cpp b/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.cpp
index 10bf986eebf..90724762e59 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.cpp
@@ -4,7 +4,6 @@
#include "docsumstate.h"
#include "docsum_field_writer_state.h"
#include "i_docsum_store_document.h"
-#include "legacy_query_term_filter.h"
#include <vespa/document/fieldvalue/fieldvalue.h>
#include <vespa/searchlib/attribute/iattributemanager.h>
#include <vespa/vespalib/util/issue.h>
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/legacy_query_term_filter.cpp b/searchsummary/src/vespa/searchsummary/docsummary/legacy_query_term_filter.cpp
deleted file mode 100644
index 9cc392fc219..00000000000
--- a/searchsummary/src/vespa/searchsummary/docsummary/legacy_query_term_filter.cpp
+++ /dev/null
@@ -1,130 +0,0 @@
-// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-
-#include "legacy_query_term_filter.h"
-#include "idocsumenvironment.h"
-#include <vespa/searchlib/parsequery/stackdumpiterator.h>
-#include <vespa/vespalib/stllike/hashtable.hpp>
-#include <vespa/vespalib/util/size_literals.h>
-
-/** Tell us what parts of the query we are interested in */
-
-namespace search::docsummary {
-
-
-bool useful(search::ParseItem::ItemCreator creator)
-{
- return creator == search::ParseItem::ItemCreator::CREA_ORIG;
-}
-
-
-LegacyQueryTermFilter::LegacyQueryTermFilter()
- : IQueryTermFilter(),
- _legalPrefixes(),
- _legalIndexes()
-{
-}
-
-
-LegacyQueryTermFilter::~LegacyQueryTermFilter() = default;
-
-bool
-LegacyQueryTermFilter::isLegalIndexName(const char *idxName) const
-{
- return _legalIndexes.find(idxName) != _legalIndexes.end();
-}
-
-LegacyQueryTermFilter::IndexPrefix::IndexPrefix(const char *prefix) noexcept
- : _prefix(prefix)
-{
-}
-
-LegacyQueryTermFilter::IndexPrefix::~IndexPrefix() = default;
-
-bool
-LegacyQueryTermFilter::IndexPrefix::Match(const char *idxName) const
-{
- return vespalib::starts_with(idxName, _prefix);
-}
-
-void
-LegacyQueryTermFilter::addLegalIndexSpec(const char *spec)
-{
- if (spec == nullptr)
- return;
-
- vespalib::string toks(spec); // tokens
- vespalib::string tok; // single token
- size_t offset; // offset into tokens buffer
- size_t seppos; // separator position
-
- offset = 0;
- while ((seppos = toks.find(';', offset)) != vespalib::string::npos) {
- if (seppos == offset) {
- offset++; // don't want empty tokens
- } else {
- tok = toks.substr(offset, seppos - offset);
- offset = seppos + 1;
- if (tok[tok.size() - 1] == '*') {
- tok.resize(tok.size() - 1);
- addLegalIndexPrefix(tok.c_str());
- } else {
- addLegalIndexName(tok.c_str());
- }
- }
- }
- if (toks.size() > offset) { // catch last token
- tok = toks.substr(offset);
- if (tok[tok.size() - 1] == '*') {
- tok.resize(tok.size() - 1);
- addLegalIndexPrefix(tok.c_str());
- } else {
- addLegalIndexName(tok.c_str());
- }
- }
-}
-
-
-vespalib::string
-LegacyQueryTermFilter::getLegalIndexSpec()
-{
- vespalib::string spec;
-
- if (!_legalPrefixes.empty()) {
- for (auto& prefix : _legalPrefixes) {
- if (!spec.empty()) {
- spec.append(';');
- }
- spec.append(prefix.get_prefix());
- spec.append('*');
- }
- }
-
- for (const auto & index : _legalIndexes) {
- if (!spec.empty()) {
- spec.append(';');
- }
- spec.append(index);
- }
- return spec;
-}
-
-
-bool
-LegacyQueryTermFilter::use_view(vespalib::stringref view) const
-{
- vespalib::string resolvedIdxName;
-
- if ( ! view.empty() ) {
- resolvedIdxName = view;
- } else {
- resolvedIdxName = "__defaultindex";
- }
-
- if (resolvedIdxName.empty())
- return false;
-
- return (isLegalIndexPrefix(resolvedIdxName.c_str()) ||
- isLegalIndexName(resolvedIdxName.c_str()));
-}
-
-}
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/legacy_query_term_filter.h b/searchsummary/src/vespa/searchsummary/docsummary/legacy_query_term_filter.h
deleted file mode 100644
index dfda568bd9b..00000000000
--- a/searchsummary/src/vespa/searchsummary/docsummary/legacy_query_term_filter.h
+++ /dev/null
@@ -1,84 +0,0 @@
-// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-
-#pragma once
-
-#include "i_query_term_filter.h"
-#include <vespa/vespalib/stllike/hash_set.h>
-
-namespace search::docsummary {
-
-class LegacyQueryTermFilter : public IQueryTermFilter
-{
-public:
-
- class IndexPrefix
- {
- vespalib::string _prefix;
- public:
- explicit IndexPrefix(const char *prefix) noexcept;
- ~IndexPrefix();
- bool Match(const char *idxName) const;
- const vespalib::string& get_prefix() const noexcept { return _prefix; }
- };
-
-private:
- using Set = vespalib::hash_set<vespalib::string>;
- std::vector<IndexPrefix> _legalPrefixes;
- Set _legalIndexes;
-
- bool isLegalIndexPrefix(const char *idxName) const {
- for (auto& prefix : _legalPrefixes ) {
- if (prefix.Match(idxName)) {
- return true;
- }
- }
- return false;
- }
-
- void addLegalIndexPrefix(const char *prefix) {
- _legalPrefixes.emplace_back(prefix);
- }
-
- void addLegalIndexName(const char *idxName) {
- _legalIndexes.insert(idxName);
- }
- bool isLegalIndexName(const char *idxName) const;
-public:
- LegacyQueryTermFilter();
- LegacyQueryTermFilter(const LegacyQueryTermFilter &) = delete;
- LegacyQueryTermFilter& operator=(const LegacyQueryTermFilter &) = delete;
- ~LegacyQueryTermFilter();
-
-
- /**
- * Parse the input string as a ';' separated list of index names and
- * index name prefixes. A '*' following a token in the list denotes
- * that the token is an index name prefix. Add the index names and
- * index name prefixes to the set of legal values.
- *
- * @param spec list of legal index names and prefixes.
- **/
- void addLegalIndexSpec(const char *spec);
-
-
- /**
- * Create a spec on the same format as accepted by the @ref
- * addLegalIndexSpec method. Freeing the returned spec is the
- * responsibility of the caller of this method.
- *
- * @return spec defining legal index names and prefixes.
- **/
- vespalib::string getLegalIndexSpec();
-
-
- /**
- * Determine wether the given index name is legal by checking it
- * against the current set of legal index names and index name
- * prefixes held by this object.
- *
- * @return true if the given index name is legal.
- **/
- bool use_view(vespalib::stringref idx) const override;
-};
-
-}
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/legacy_query_term_filter_factory.cpp b/searchsummary/src/vespa/searchsummary/docsummary/legacy_query_term_filter_factory.cpp
deleted file mode 100644
index 77ccd494fac..00000000000
--- a/searchsummary/src/vespa/searchsummary/docsummary/legacy_query_term_filter_factory.cpp
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-
-#include "legacy_query_term_filter_factory.h"
-
-namespace search::docsummary {
-
-LegacyQueryTermFilterFactory::LegacyQueryTermFilterFactory(std::shared_ptr<const IQueryTermFilter> query_term_filter)
- : IQueryTermFilterFactory(),
- _query_term_filter(std::move(query_term_filter))
-{
-}
-
-LegacyQueryTermFilterFactory::~LegacyQueryTermFilterFactory() = default;
-
-std::shared_ptr<const IQueryTermFilter>
-LegacyQueryTermFilterFactory::make(vespalib::stringref) const
-{
- return _query_term_filter;
-}
-
-}
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/legacy_query_term_filter_factory.h b/searchsummary/src/vespa/searchsummary/docsummary/legacy_query_term_filter_factory.h
deleted file mode 100644
index 2e7fdd63204..00000000000
--- a/searchsummary/src/vespa/searchsummary/docsummary/legacy_query_term_filter_factory.h
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-
-#pragma once
-
-#include "i_query_term_filter_factory.h"
-
-namespace search::docsummary {
-
-/*
- * Class for creating an instance of IQueryTermFilter.
- */
-class LegacyQueryTermFilterFactory : public IQueryTermFilterFactory
-{
- std::shared_ptr<const IQueryTermFilter> _query_term_filter;
-public:
- explicit LegacyQueryTermFilterFactory(std::shared_ptr<const IQueryTermFilter> query_term_filter);
- virtual ~LegacyQueryTermFilterFactory();
- std::shared_ptr<const IQueryTermFilter> make(vespalib::stringref) const override;
-};
-
-}