diff options
author | Tor Egge <Tor.Egge@online.no> | 2023-01-27 16:59:37 +0100 |
---|---|---|
committer | Tor Egge <Tor.Egge@online.no> | 2023-01-27 16:59:37 +0100 |
commit | 73b67ba8040f4e9df6ce140369e0ef9a33f5cee1 (patch) | |
tree | eb14bb8355654bf97e9ea4744ccad0c0631e8bd4 | |
parent | 8a006bc9ca202713ec54c7961a9256790c87d10d (diff) |
Remove legacy query term filter.
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; -}; - -} |