diff --git a/search/query.cpp b/search/query.cpp index ef6cd72001..6410215a7c 100644 --- a/search/query.cpp +++ b/search/query.cpp @@ -66,9 +66,9 @@ struct FeatureProcessor void operator () (FeatureType const & feature) const { - KeywordMatcher matcher(MakeMatcher(m_query.m_keywords, m_query.m_prefix)); + KeywordMatcher matcher(MakeMatcher(m_query.GetKeywords(), m_query.GetPrefix())); feature.ForEachNameRef(matcher); - if (matcher.GetPrefixMatchScore() <= GetMaxPrefixMatchScore(m_query.m_prefix.size())) + if (matcher.GetPrefixMatchScore() <= GetMaxPrefixMatchScore(m_query.GetPrefix().size())) { uint32_t const matchScore = matcher.GetMatchScore(); if (matchScore <= GetMaxKeywordMatchScore()) diff --git a/search/query.hpp b/search/query.hpp index 79b274f9e7..cc8a8b1046 100644 --- a/search/query.hpp +++ b/search/query.hpp @@ -29,12 +29,16 @@ public: // Add result for scoring. void AddResult(IntermediateResult const & result); + vector const & GetKeywords() const { return m_keywords; } + strings::UniString const & GetPrefix() const { return m_prefix; } + +private: string m_queryText; + m2::RectD m_rect; + vector m_keywords; strings::UniString m_prefix; - m2::RectD m_rect; - IndexType const * m_pIndex; IndexType::Query m_indexQuery; diff --git a/search/search_tests/query_test.cpp b/search/search_tests/query_test.cpp index 14f8076ba0..2857ae9853 100644 --- a/search/search_tests/query_test.cpp +++ b/search/search_tests/query_test.cpp @@ -13,16 +13,16 @@ UNIT_TEST(QueryParseKeywords_Smoke) vector expected; expected.push_back(MakeUniString("minsk")); expected.push_back(MakeUniString("belarus")); - TEST_EQUAL(expected, Query("minsk belarus ", m2::RectD(), NULL).m_keywords, ()); - TEST_EQUAL(MakeUniString(""), Query("minsk belarus ", m2::RectD(), NULL).m_prefix, ()); - TEST_EQUAL(expected, Query("minsk belarus ma", m2::RectD(), NULL).m_keywords, ()); - TEST_EQUAL(MakeUniString("ma"), Query("minsk belarus ma", m2::RectD(), NULL).m_prefix, ()); + TEST_EQUAL(expected, Query("minsk belarus ", m2::RectD(), NULL).GetKeywords(), ()); + TEST_EQUAL(MakeUniString(""), Query("minsk belarus ", m2::RectD(), NULL).GetPrefix(), ()); + TEST_EQUAL(expected, Query("minsk belarus ma", m2::RectD(), NULL).GetKeywords(), ()); + TEST_EQUAL(MakeUniString("ma"), Query("minsk belarus ma", m2::RectD(), NULL).GetPrefix(), ()); } UNIT_TEST(QueryParseKeywords_Empty) { - TEST_EQUAL(vector(), Query("", m2::RectD(), NULL).m_keywords, ()); - TEST_EQUAL(MakeUniString(""), Query("", m2::RectD(), NULL).m_prefix, ()); - TEST_EQUAL(vector(), Query("Z", m2::RectD(), NULL).m_keywords, ()); - TEST_EQUAL(MakeUniString("z"), Query("Z", m2::RectD(), NULL).m_prefix, ()); + TEST_EQUAL(vector(), Query("", m2::RectD(), NULL).GetKeywords(), ()); + TEST_EQUAL(MakeUniString(""), Query("", m2::RectD(), NULL).GetPrefix(), ()); + TEST_EQUAL(vector(), Query("Z", m2::RectD(), NULL).GetKeywords(), ()); + TEST_EQUAL(MakeUniString("z"), Query("Z", m2::RectD(), NULL).GetPrefix(), ()); }