diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2024-02-05 16:17:31 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2024-02-05 16:17:31 +0000 |
commit | c48eb091494ccb39d2edd0a1b50073f3c5dc4c2b (patch) | |
tree | 0a7221072c7c764914e67f1c81fbd635815f1405 /streamingvisitors | |
parent | 19c39fc777a89ce8d9f3b71becfc93debab923ea (diff) |
Move Normalization from search::streaming => search
Diffstat (limited to 'streamingvisitors')
8 files changed, 21 insertions, 27 deletions
diff --git a/streamingvisitors/src/tests/searcher/searcher_test.cpp b/streamingvisitors/src/tests/searcher/searcher_test.cpp index daa26b855e8..ce9636895b4 100644 --- a/streamingvisitors/src/tests/searcher/searcher_test.cpp +++ b/streamingvisitors/src/tests/searcher/searcher_test.cpp @@ -30,7 +30,7 @@ using search::streaming::QueryNodeResultFactory; using search::streaming::FuzzyTerm; using search::streaming::RegexpTerm; using search::streaming::QueryTerm; -using search::streaming::Normalizing; +using search::Normalizing; using Searchmethod = VsmfieldsConfig::Fieldspec::Searchmethod; using search::streaming::QueryTermList; using TermType = QueryTerm::Type; diff --git a/streamingvisitors/src/vespa/searchvisitor/querytermdata.h b/streamingvisitors/src/vespa/searchvisitor/querytermdata.h index 38d0e942fbc..b9b7818b9f2 100644 --- a/streamingvisitors/src/vespa/searchvisitor/querytermdata.h +++ b/streamingvisitors/src/vespa/searchvisitor/querytermdata.h @@ -20,29 +20,22 @@ public: search::fef::SimpleTermData &getTermData() noexcept { return _termData; } }; -class SearchMethodInfo { -public: - using Normalizing = search::streaming::Normalizing; - virtual ~SearchMethodInfo() = default; - virtual bool is_text_matching(vespalib::stringref index) const noexcept = 0; - virtual Normalizing normalizing_mode(vespalib::stringref index) const noexcept = 0; -}; - class QueryTermDataFactory final : public search::streaming::QueryNodeResultFactory { public: - using Normalizing = search::streaming::Normalizing; - QueryTermDataFactory(const SearchMethodInfo * searchMethodInfo) noexcept : _searchMethodInfo(searchMethodInfo) {} + using Normalizing = search::Normalizing; + using QueryNormalization = search::QueryNormalization; + QueryTermDataFactory(const QueryNormalization * normalization) noexcept : _normalization(normalization) {} std::unique_ptr<search::streaming::QueryNodeResultBase> create() const override { return std::make_unique<QueryTermData>(); } Normalizing normalizing_mode(vespalib::stringref index) const noexcept override { - return _searchMethodInfo ? _searchMethodInfo->normalizing_mode(index) : Normalizing::LOWERCASE_AND_FOLD; + return _normalization ? _normalization->normalizing_mode(index) : Normalizing::LOWERCASE_AND_FOLD; } bool allow_float_terms_rewrite(vespalib::stringref index ) const noexcept override { - return _searchMethodInfo && _searchMethodInfo->is_text_matching(index); + return _normalization && _normalization->is_text_matching(index); } private: - const SearchMethodInfo * _searchMethodInfo; + const QueryNormalization * _normalization; }; diff --git a/streamingvisitors/src/vespa/searchvisitor/searchvisitor.cpp b/streamingvisitors/src/vespa/searchvisitor/searchvisitor.cpp index a1e8fddc3bf..8e75fe858d9 100644 --- a/streamingvisitors/src/vespa/searchvisitor/searchvisitor.cpp +++ b/streamingvisitors/src/vespa/searchvisitor/searchvisitor.cpp @@ -42,7 +42,7 @@ using search::aggregation::HitsAggregationResult; using search::attribute::IAttributeVector; using search::expression::ConfigureStaticParams; using search::streaming::Query; -using search::streaming::Normalizing; +using search::Normalizing; using search::streaming::QueryTermList; using storage::StorageComponent; using storage::VisitorEnvironment; @@ -355,7 +355,7 @@ count_normalize_none(const vsm::FieldSearchSpecMapT & specMap, const StringField } -SearchMethodInfo::Normalizing +search::Normalizing SearchVisitor::normalizing_mode(vespalib::stringref index) const noexcept { StringFieldIdTMap fieldIdMap; _fieldSearchSpecMap.addFieldsFromIndex(index, fieldIdMap); diff --git a/streamingvisitors/src/vespa/searchvisitor/searchvisitor.h b/streamingvisitors/src/vespa/searchvisitor/searchvisitor.h index 98d0747baec..9ad31b7559c 100644 --- a/streamingvisitors/src/vespa/searchvisitor/searchvisitor.h +++ b/streamingvisitors/src/vespa/searchvisitor/searchvisitor.h @@ -44,7 +44,7 @@ class SearchEnvironmentSnapshot; * converts them to a QueryResultCommand. **/ class SearchVisitor : public storage::Visitor, - public SearchMethodInfo { + public search::QueryNormalization { public: SearchVisitor(storage::StorageComponent&, storage::VisitorEnvironment& vEnv, const vdslib::Parameters & params); diff --git a/streamingvisitors/src/vespa/vsm/searcher/fieldsearcher.h b/streamingvisitors/src/vespa/vsm/searcher/fieldsearcher.h index 2af68c553b8..6f3ec3e1e73 100644 --- a/streamingvisitors/src/vespa/vsm/searcher/fieldsearcher.h +++ b/streamingvisitors/src/vespa/vsm/searcher/fieldsearcher.h @@ -22,20 +22,21 @@ using SharedSearcherBuf = std::shared_ptr<SearcherBuf>; class FieldSearcherBase { +public: + FieldSearcherBase & operator = (const FieldSearcherBase & org) = delete; protected: FieldSearcherBase() noexcept; FieldSearcherBase(const FieldSearcherBase & org); virtual ~FieldSearcherBase(); - FieldSearcherBase & operator = (const FieldSearcherBase & org) = delete; void prepare(const search::streaming::QueryTermList & qtl); -protected: + search::streaming::QueryTermList _qtl; }; class FieldSearcher : public FieldSearcherBase { public: - using Normalizing = search::streaming::Normalizing; + using Normalizing = search::Normalizing; enum MatchType { REGULAR, PREFIX, diff --git a/streamingvisitors/src/vespa/vsm/searcher/tokenizereader.h b/streamingvisitors/src/vespa/vsm/searcher/tokenizereader.h index f10c8910e82..2bb5e62e0aa 100644 --- a/streamingvisitors/src/vespa/vsm/searcher/tokenizereader.h +++ b/streamingvisitors/src/vespa/vsm/searcher/tokenizereader.h @@ -14,7 +14,7 @@ namespace vsm { class TokenizeReader { public: using byte = search::byte; - using Normalizing = search::streaming::Normalizing; + using Normalizing = search::Normalizing; TokenizeReader(const byte *p, uint32_t len, ucs4_t *q) noexcept : _p(p), _p_end(p + len), diff --git a/streamingvisitors/src/vespa/vsm/vsm/fieldsearchspec.cpp b/streamingvisitors/src/vespa/vsm/vsm/fieldsearchspec.cpp index 63d2007cecf..3ae4794e33f 100644 --- a/streamingvisitors/src/vespa/vsm/vsm/fieldsearchspec.cpp +++ b/streamingvisitors/src/vespa/vsm/vsm/fieldsearchspec.cpp @@ -263,14 +263,14 @@ buildFieldSet(const VsmfieldsConfig::Documenttype::Index & ci, const FieldSearch return ifm; } -search::streaming::Normalizing +search::Normalizing normalize_mode(VsmfieldsConfig::Fieldspec::Normalize normalize_mode) { switch (normalize_mode) { - case VsmfieldsConfig::Fieldspec::Normalize::NONE: return search::streaming::Normalizing::NONE; - case VsmfieldsConfig::Fieldspec::Normalize::LOWERCASE: return search::streaming::Normalizing::LOWERCASE; - case VsmfieldsConfig::Fieldspec::Normalize::LOWERCASE_AND_FOLD: return search::streaming::Normalizing::LOWERCASE_AND_FOLD; + case VsmfieldsConfig::Fieldspec::Normalize::NONE: return search::Normalizing::NONE; + case VsmfieldsConfig::Fieldspec::Normalize::LOWERCASE: return search::Normalizing::LOWERCASE; + case VsmfieldsConfig::Fieldspec::Normalize::LOWERCASE_AND_FOLD: return search::Normalizing::LOWERCASE_AND_FOLD; } - return search::streaming::Normalizing::LOWERCASE_AND_FOLD; + return search::Normalizing::LOWERCASE_AND_FOLD; } } diff --git a/streamingvisitors/src/vespa/vsm/vsm/fieldsearchspec.h b/streamingvisitors/src/vespa/vsm/vsm/fieldsearchspec.h index c862753a41c..e90aea1371b 100644 --- a/streamingvisitors/src/vespa/vsm/vsm/fieldsearchspec.h +++ b/streamingvisitors/src/vespa/vsm/vsm/fieldsearchspec.h @@ -11,7 +11,7 @@ class FieldSearchSpec { public: using Searchmethod = VsmfieldsConfig::Fieldspec::Searchmethod; - using Normalizing = search::streaming::Normalizing; + using Normalizing = search::Normalizing; FieldSearchSpec(); FieldSearchSpec(const FieldIdT & id, const vespalib::string & name, Searchmethod searchMethod, Normalizing normalize_mode, vespalib::stringref arg1, size_t maxLength); |