24 if (query.empty())
return 0;
26 std::string t = text, q = query;
27 std::transform(t.begin(), t.end(), t.begin(), ::tolower);
28 std::transform(q.begin(), q.end(), q.begin(), ::tolower);
30 if (t == q)
return 1000;
31 if (t.find(q) == 0)
return 500;
32 if (t.find(q) != std::string::npos)
return 250;
35 size_t ti = 0, qi = 0;
37 while (ti < t.length() && qi < q.length()) {
45 return (qi == q.length()) ? score : 0;