diff options
Diffstat (limited to 'streamingvisitors/src/vespa/searchvisitor/querytermdata.h')
-rw-r--r-- | streamingvisitors/src/vespa/searchvisitor/querytermdata.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/streamingvisitors/src/vespa/searchvisitor/querytermdata.h b/streamingvisitors/src/vespa/searchvisitor/querytermdata.h index 36176f70d1d..38d0e942fbc 100644 --- a/streamingvisitors/src/vespa/searchvisitor/querytermdata.h +++ b/streamingvisitors/src/vespa/searchvisitor/querytermdata.h @@ -22,17 +22,23 @@ public: 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) {} std::unique_ptr<search::streaming::QueryNodeResultBase> create() const override { return std::make_unique<QueryTermData>(); } - bool getRewriteFloatTerms(vespalib::stringref index ) const noexcept override { + Normalizing normalizing_mode(vespalib::stringref index) const noexcept override { + return _searchMethodInfo ? _searchMethodInfo->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); } private: |