diff --git a/search/features_layer_matcher.hpp b/search/features_layer_matcher.hpp index edeced6064..f9ae2df657 100644 --- a/search/features_layer_matcher.hpp +++ b/search/features_layer_matcher.hpp @@ -255,12 +255,6 @@ private: if (m_postcodes && !m_postcodes->GetBit(id)) return false; - // HouseNumbersMatch() calls are expensive, so following code - // tries to reduce the number of calls. The most important - // optimization: as first tokens from the house-number part of - // the query and feature's house numbers must be numbers, their - // first symbols must be the same. - if (!loaded) { GetByIndex(id, feature); @@ -271,8 +265,6 @@ private: return false; strings::UniString const houseNumber(strings::MakeUniString(feature.GetHouseNumber())); - if (!feature::IsHouseNumber(houseNumber)) - return false; return house_numbers::HouseNumbersMatch(houseNumber, queryParse); }; diff --git a/search/geocoder.cpp b/search/geocoder.cpp index c635eb0779..e9749e69ce 100644 --- a/search/geocoder.cpp +++ b/search/geocoder.cpp @@ -1095,7 +1095,7 @@ void Geocoder::GreedilyMatchStreets() if (IsStreetSynonymPrefix(token)) continue; - if (feature::IsHouseNumber(token)) + if (house_numbers::LooksLikeHouseNumber(token, true /* isPrefix */)) { CreateStreetsLayerAndMatchLowerLayers(startToken, curToken, allFeatures); lastStopToken = curToken;