summaryrefslogtreecommitdiffstats
path: root/streamingvisitors/src/vespa/searchvisitor/querytermdata.h
diff options
context:
space:
mode:
Diffstat (limited to 'streamingvisitors/src/vespa/searchvisitor/querytermdata.h')
-rw-r--r--streamingvisitors/src/vespa/searchvisitor/querytermdata.h8
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: