diff --git a/search/keyword_matcher.cpp b/search/keyword_matcher.cpp index 1bd9d098cc..b7d6a4ebf2 100644 --- a/search/keyword_matcher.cpp +++ b/search/keyword_matcher.cpp @@ -33,7 +33,11 @@ uint32_t KeywordMatcher::Score(StringT const & name) const { buffer_vector tokens; SplitUniString(name, MakeBackInsertFunctor(tokens), Delimiters()); - ASSERT_LESS ( tokens.size(), static_cast(MAX_TOKENS), () ); + + /// @todo Some Arabian names have a lot of tokens. + /// Trim this stuff while generation. + //ASSERT_LESS ( tokens.size(), static_cast(MAX_TOKENS), () ); + return Score(tokens.data(), min(size_t(MAX_TOKENS-1), tokens.size())); } diff --git a/search/lang_keywords_scorer.cpp b/search/lang_keywords_scorer.cpp index b7315af6c4..9e60263f6d 100644 --- a/search/lang_keywords_scorer.cpp +++ b/search/lang_keywords_scorer.cpp @@ -50,7 +50,11 @@ uint32_t LangKeywordsScorer::Score(int8_t lang, StringT const & name) const { buffer_vector tokens; SplitUniString(name, MakeBackInsertFunctor(tokens), Delimiters()); - ASSERT_LESS ( tokens.size(), static_cast(MAX_TOKENS), () ); + + /// @todo Some Arabian names have a lot of tokens. + /// Trim this stuff while generation. + //ASSERT_LESS ( tokens.size(), static_cast(MAX_TOKENS), () ); + return Score(lang, tokens.data(), min(size_t(MAX_TOKENS-1), tokens.size())); }