aboutsummaryrefslogtreecommitdiffstats
path: root/searchsummary/src/vespa/searchsummary/docsummary/legacy_query_term_filter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'searchsummary/src/vespa/searchsummary/docsummary/legacy_query_term_filter.cpp')
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/legacy_query_term_filter.cpp130
1 files changed, 0 insertions, 130 deletions
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()));
-}
-
-}