diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2024-01-10 10:59:27 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2024-01-10 10:59:27 +0000 |
commit | 5bdad953f6d91cb26139ef6506c3748531dc708a (patch) | |
tree | 3e268a4f3e98ee62a9ed15e3ab3ffe0b38c9579d /streamingvisitors/src/vespa/searchvisitor/searchvisitor.cpp | |
parent | 3f7017773ce147a2d65a9835acdfd682dfafd54a (diff) |
Use the normalize_mode config.
Diffstat (limited to 'streamingvisitors/src/vespa/searchvisitor/searchvisitor.cpp')
-rw-r--r-- | streamingvisitors/src/vespa/searchvisitor/searchvisitor.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/streamingvisitors/src/vespa/searchvisitor/searchvisitor.cpp b/streamingvisitors/src/vespa/searchvisitor/searchvisitor.cpp index 88556778481..cdd1a018d84 100644 --- a/streamingvisitors/src/vespa/searchvisitor/searchvisitor.cpp +++ b/streamingvisitors/src/vespa/searchvisitor/searchvisitor.cpp @@ -42,6 +42,7 @@ using search::aggregation::HitsAggregationResult; using search::attribute::IAttributeVector; using search::expression::ConfigureStaticParams; using search::streaming::Query; +using search::streaming::Normalizing; using search::streaming::QueryTermList; using storage::StorageComponent; using storage::VisitorEnvironment; @@ -329,11 +330,11 @@ SearchVisitor::is_text_matching(vespalib::stringref index) const noexcept { namespace { uint32_t -count_exact(const vsm::FieldSearchSpecMapT & specMap, const StringFieldIdTMap & fieldIdMap) { +count_normalize_lowercase(const vsm::FieldSearchSpecMapT & specMap, const StringFieldIdTMap & fieldIdMap) { size_t count = 0; for (const auto & fieldId : fieldIdMap.map()) { auto found = specMap.find(fieldId.second); - if ((found != specMap.end()) && found->second.searcher().exact()) { + if ((found != specMap.end()) && found->second.searcher().normalize_mode() == Normalizing::LOWERCASE) { count++; } } @@ -341,11 +342,11 @@ count_exact(const vsm::FieldSearchSpecMapT & specMap, const StringFieldIdTMap & } uint32_t -count_cased(const vsm::FieldSearchSpecMapT & specMap, const StringFieldIdTMap & fieldIdMap) { +count_normalize_none(const vsm::FieldSearchSpecMapT & specMap, const StringFieldIdTMap & fieldIdMap) { size_t count = 0; for (const auto & fieldId : fieldIdMap.map()) { auto found = specMap.find(fieldId.second); - if ((found != specMap.end()) && found->second.searcher().cased()) { + if ((found != specMap.end()) && found->second.searcher().normalize_mode() == Normalizing::NONE) { count++; } } @@ -358,8 +359,8 @@ SearchMethodInfo::Normalizing SearchVisitor::normalizing_mode(vespalib::stringref index) const noexcept { StringFieldIdTMap fieldIdMap; _fieldSearchSpecMap.addFieldsFromIndex(index, fieldIdMap); - if (count_cased(_fieldSearchSpecMap.specMap(), fieldIdMap) == fieldIdMap.map().size()) return Normalizing::NONE; - if (count_exact(_fieldSearchSpecMap.specMap(), fieldIdMap) == fieldIdMap.map().size()) return Normalizing::LOWERCASE; + if (count_normalize_none(_fieldSearchSpecMap.specMap(), fieldIdMap) == fieldIdMap.map().size()) return Normalizing::NONE; + if (count_normalize_lowercase(_fieldSearchSpecMap.specMap(), fieldIdMap) == fieldIdMap.map().size()) return Normalizing::LOWERCASE; return Normalizing::LOWERCASE_AND_FOLD; } |