diff options
author | vng <viktor.govako@gmail.com> | 2014-09-04 18:30:36 +0400 |
---|---|---|
committer | Alex Zolotarev <alex@maps.me> | 2015-09-23 02:26:02 +0300 |
commit | 3170c937d95a49572ce01556d3f12dd2adff9a5e (patch) | |
tree | 9c9253407e19374ebcf6a65c09152dc4121bf187 /indexer/categories_holder.cpp | |
parent | e037d998046da508e7c069f2a61c68c6e7238420 (diff) |
[search] Do search for category only if it matches for current, input or English language.
Diffstat (limited to 'indexer/categories_holder.cpp')
-rw-r--r-- | indexer/categories_holder.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/indexer/categories_holder.cpp b/indexer/categories_holder.cpp index 6a249e4be8..767b3774c3 100644 --- a/indexer/categories_holder.cpp +++ b/indexer/categories_holder.cpp @@ -43,6 +43,8 @@ void CategoriesHolder::AddCategory(Category & cat, vector<uint32_t> & types) for (size_t i = 0; i < p->m_synonyms.size(); ++i) { + ASSERT(p->m_synonyms[i].m_locale != UNSUPPORTED_LOCALE_CODE, ()); + StringT const uniName = search::NormalizeAndSimplifyString(p->m_synonyms[i].m_name); vector<StringT> tokens; @@ -51,7 +53,7 @@ void CategoriesHolder::AddCategory(Category & cat, vector<uint32_t> & types) for (size_t j = 0; j < tokens.size(); ++j) for (size_t k = 0; k < types.size(); ++k) if (ValidKeyToken(tokens[j])) - m_name2type.insert(make_pair(tokens[j], types[k])); + m_name2type.insert(make_pair(make_pair(p->m_synonyms[i].m_locale, tokens[j]), types[k])); } } @@ -129,7 +131,7 @@ void CategoriesHolder::LoadFromStream(istream & s) } int8_t const langCode = MapLocaleToInteger(*iter); - CHECK_NOT_EQUAL(langCode, UNSUPPORTED_LOCALE_CODE, ("Invalid language code:", *iter, "at line:", lineNumber)); + CHECK(langCode != UNSUPPORTED_LOCALE_CODE, ("Invalid language code:", *iter, "at line:", lineNumber)); while (++iter) { |