From 73b67ba8040f4e9df6ce140369e0ef9a33f5cee1 Mon Sep 17 00:00:00 2001 From: Tor Egge Date: Fri, 27 Jan 2023 16:59:37 +0100 Subject: Remove legacy query term filter. --- .../vespa/searchsummary/docsummary/CMakeLists.txt | 2 - .../searchsummary/docsummary/docsumwriter.cpp | 1 - .../docsummary/legacy_query_term_filter.cpp | 130 --------------------- .../docsummary/legacy_query_term_filter.h | 84 ------------- .../legacy_query_term_filter_factory.cpp | 21 ---- .../docsummary/legacy_query_term_filter_factory.h | 21 ---- 6 files changed, 259 deletions(-) delete mode 100644 searchsummary/src/vespa/searchsummary/docsummary/legacy_query_term_filter.cpp delete mode 100644 searchsummary/src/vespa/searchsummary/docsummary/legacy_query_term_filter.h delete mode 100644 searchsummary/src/vespa/searchsummary/docsummary/legacy_query_term_filter_factory.cpp delete mode 100644 searchsummary/src/vespa/searchsummary/docsummary/legacy_query_term_filter_factory.h (limited to 'searchsummary') 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 #include #include 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 -#include -#include - -/** 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 - -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; - std::vector _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 query_term_filter) - : IQueryTermFilterFactory(), - _query_term_filter(std::move(query_term_filter)) -{ -} - -LegacyQueryTermFilterFactory::~LegacyQueryTermFilterFactory() = default; - -std::shared_ptr -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 _query_term_filter; -public: - explicit LegacyQueryTermFilterFactory(std::shared_ptr query_term_filter); - virtual ~LegacyQueryTermFilterFactory(); - std::shared_ptr make(vespalib::stringref) const override; -}; - -} -- cgit v1.2.3